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