douqian2524 2012-12-19 15:00
浏览 58
已采纳

在Facebook App中上传图片

I am creating a facebook,I have used the upload image code in normal PHP programs several times.I am using now it in facebook app.Here is my code

    $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";
}}}

here is my code for HTML. which is inside the for obviously

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

The problem is that I always get the error "Unknown Extension",If I use $_REQUEST instead of $_FILES then I can only see first letter of the uploaded filename. PS: The problem is not with GetExtention function.The problem is with the $_FILES['image']['name']) stuff Anyone who can tell me what I am missing.I am stuck at this point for the last 2 hours. Thank you

  • 写回答

1条回答 默认 最新

  • doubei5114 2012-12-19 16:48
    关注

    Please be sure that while using File uploading you must use enctype="multipart/form-data" in your form tag. Hope that would help you.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置