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.

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

报告相同问题?

悬赏问题

  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)
  • ¥50 mac mini外接显示器 画质字体模糊
  • ¥15 TLS1.2协议通信解密
  • ¥40 图书信息管理系统程序编写
  • ¥20 Qcustomplot缩小曲线形状问题
  • ¥15 企业资源规划ERP沙盘模拟
  • ¥15 树莓派控制机械臂传输命令报错,显示摄像头不存在
  • ¥15 前端echarts坐标轴问题