【问题标题】:Uploading A file via a form通过表单上传文件
【发布时间】:2012-09-11 22:43:42
【问题描述】:

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

该程序现在嵌入在 Facebook 应用程序中,它仍然可以工作 - 但上传的文件最初没有保存;因此,我将上传目录权限更改为 777(我知道这是一个粗略的做法)。现在上传的文件被保存为一串数字“13474022561”,没有扩展名。

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

源码的sn-p如下:

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

【问题讨论】:

  • 要添加代码吗?
  • 我的研究表明人们希望看到代码
  • 请发布您的代码,以便我们为您提供帮助。
  • 好像你在找very specific StackExchange site,可惜还没有被批准。
  • 耶!代码贴出来了!

标签: php forms upload permissions


【解决方案1】:

这行代码:

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

应该是:

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

您当前的代码是这样评估的:

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

这可能不是你想要的。

【讨论】:

  • 只是需要新鲜的眼睛。谢谢沙奎因。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-04-18
  • 2018-06-29
  • 2013-01-08
  • 1970-01-01
  • 2016-11-20
  • 2012-08-08
  • 2016-03-18
相关资源
最近更新 更多