3

我正在创建一个 facebook,我已经在普通 PHP 程序中使用了几次上传图像代码。我现在在 facebook 应用程序中使用它。这是我的代码

    $image=clean($_FILES['image']['name']);
echo '<h1>Got it</h1>'.$image;
    //if it is not empty
    if (isset($_FILES))
    {
    //get the original name of the file from the clients machine
        $filename = stripslashes($_FILES['image']['name']);
            echo '<h1>Got it 2</h1>'.$filename;

    //get the extension of the file in a lower case format
        $extension = getExtension($filename);

        $extension = strtolower($extension);
    //if it is not a known extension, we will suppose it is an error and 
        // will not  upload the file,  
    //otherwise we will do more tests

 if (($extension != "jpg") && ($extension != "jpeg") && ($extension !=
 "png") && ($extension != "gif")) 
        {
        //print error message
            echo '<h1>Unknown extension!</h1>'.$filename.'hi';
            $errors=1;
        }
        else
        {
//get the size of the image in bytes
 //$_FILES['image']['tmp_name'] is the temporary filename of the file
 //in which the uploaded file was stored on the server
 $size=filesize($_REQUEST['image']['tmp_name']);

//compare the size with the maxim size we defined and print error if bigger
if ($size > MAX_SIZE*1024)
{
    echo '<h1>You have exceeded the size limit!</h1>';
    $errors=1;
}

//we will give an unique name, for example the time in unix time format
$image_name=time().'.'.$extension;
//the new name will be containing the full path where will be stored (images 
//folder)
$newname="images/".$image_name;
//we verify if the image has been uploaded, and print error instead
$copied = copy($_REQUEST['image']['tmp_name'], $newname);
if (!$copied) 
{
    echo '<h1>Copy unsuccessfull!</h1>';
    $errors=1;
    $newname="copy";
}}}

这是我的 HTML 代码。显然在 for 里面

<td><label for="image">Image</td>
                        <td><input type="file" id="image" name="image" ></td>

问题是我总是收到错误“未知扩展名”,如果我使用$_REQUEST而不是$_FILES那么我只能看到上传文件名的第一个字母。 PS:问题不在于 GetExtention 功能。问题在于任何可以告诉我我缺少什么的$_FILES['image']['name']) 。我在过去 2 小时内一直停留在这一点上。谢谢

4

1 回答 1

2

请确保在使用文件上传时,您必须enctype="multipart/form-data"在表单标签中使用。希望对您有所帮助。

于 2012-12-19T16:48:50.140 回答