通过表单上传文件

时间:2012-09-11 22:43:42

标签: php forms upload permissions

我写了一个包含3个文本输入和一个文件输入的表单。 此表单发布到PHP脚本,该脚本保存文件,以及执行其他一些业务逻辑。该程序在我的localhost,甚至在我的服务器上运行良好。

该程序现已嵌入到Facebook应用程序中,它仍可正常运行 - 但上传的文件最初并未保存;所以我将上传目录权限更改为777(我知道这是一个广泛的描述)。现在上传的文件被保存为一串数字“13474022561”,没有扩展名。

谁能告诉我为什么?或者如何解决这个问题?

以下源代码片段:

  if($_FILES['resume']['type']!='')
  {
        $target_path = "resumes/";

        $target_path = $target_path .time().basename( $_FILES['resume']['name']!="");
        if($_FILES['resume']['type']=="application/vnd.openxmlformats-officedocument.wordprocessingml.document" || $_FILES['resume']['type']=="application/pdf")
        {
            if(move_uploaded_file($_FILES['resume']['tmp_name'], $target_path)) 
            {
                echo "success";
            }
            else
                echo "failure";
        }
        else 
        {
                echo "<center>Resume must be MS DOC or PDF <br/>";                    
                exit;
        }
  }

1 个答案:

答案 0 :(得分:2)

这行代码:

$target_path = $target_path .time().basename( $_FILES['resume']['name']!="");

应该是:

$target_path = $target_path . time() . basename( $_FILES['resume']['name']);

您当前的代码评估如下:

$target_path = 'resumes/' . time() . basename(true);

这可能不是你想要的。