【问题标题】:PHP Upload Wont Work, But Wordpress Upload DoesPHP 上传不起作用,但 Wordpress 上传可以
【发布时间】:2012-09-03 13:19:41
【问题描述】:

我正在创建自己的上传脚本以将文件上传到我的网络服务器(如小型 Flash 视频)。但是,它似乎不起作用。但是,我不认为它是 PHP,因为通过 Wordpress 将文件上传到我的服务器 确实 工作。

这是上传表格:

 <form enctype="multipart/form-data" action="upload.php" method="POST">
   Video: <input name="vid" type="file" />
   <br/>
   Name: <input name="title" type="text" />
   <br/>
   Description:
   <br/>
   <br/>
   <textarea name="desc">Your description here</textarea>
   <br/>
   <br/>
   <input type="submit" value="Upload" />
   </form> 

这里是上传PHP页面:

<?php

 $target = basename( $_FILES['uploaded']['name']) ; 
 $ok=1; 


 //check that $ok was not set to 0 by an error 
 if ($ok==0) 
 { 
 Echo "Sorry your file was not uploaded"; 
 } 

 //If everything is ok we try to upload it 
 else 
 { 
 if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target)) 
 { 
 echo "The file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded"; 
 } 
 else 
 { 
 echo "Sorry, there was a problem uploading your file."; 
 } 
 } 
?>

我已将 php.ini 中的最大上传大小设置为 100MB,但是上传仍然失败。我的 php.ini 文件可以在 pastebin 中查看here。另请注意,我已从上传脚本中删除所有验证以查看其是否有效。

【问题讨论】:

  • 您收到什么错误?
  • 错误日志中有什么内容?

标签: php upload


【解决方案1】:

从代码的外观来看,您正在将文件上传到与运行脚本相同的目录中。您确定您对该目录中的网络服务器有写权限吗?

尝试将文件上传到您的临时目录:

move_uploaded_file($_FILES['uploaded']['tmp_name'], sys_get_temp_dir().DIRECTORY_SEPARATOR.$target);

看看有没有效果

更新

您正在调用您的输入文件“vid”,但您正在尝试访问“已上传”的输入。

将所有出现的 $_FILES 替换为 $_FILES['vid'][]...

并在您的机器上启用错误报告

【讨论】:

    【解决方案2】:

    你怎么能从中得到视频的价值:

    $target = basename( $_FILES['uploaded']['name']) ; 
    

    虽然第一个块包含提供给 html 的文件的名称。

    你的情况是:Video: &lt;input name="vid" type="file" /&gt; Vid

    所以在你的代码上使用这个:

    <?php
    
     $target = basename( $_FILES['vid']['name']) ; 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-21
      • 2015-06-23
      • 1970-01-01
      • 2015-02-11
      • 2017-05-05
      • 2016-03-20
      • 2017-08-01
      • 1970-01-01
      相关资源
      最近更新 更多