PHP上传不会工作,但Wordpress上传

时间:2012-09-03 13:19:42

标签: php upload

我正在创建自己的上传脚本,将文件上传到我的网络服务器(如小型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。另请注意,我已从上传脚本中删除了所有验证,以确定其是否有效。

2 个答案:

答案 0 :(得分:0)

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

尝试在临时目录中上传文件:

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

看看它是否有效

<强>更新

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

用$ _FILES ['vid']替换所有$ _FILES出现[] ......

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

答案 1 :(得分:0)

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

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

第一个块包含为html提供的文件的名称。

在您的情况下,它是:Video: <input name="vid" type="file" /> Vid

所以在你的代码上使用它:

<?php

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