我正在创建自己的上传脚本,以便将文件上传到我的Web服务器(如小型闪存视频)。然而,它似乎不起作用。然而,我不认为这是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中查看。还要注意,我已经从上传脚本中删除了所有验证,看看它是否有效。
从代码的外观来看,您正在将文件上传到与运行脚本相同的目录中。你确定你对该目录中的Web服务器有写权限吗?
尝试将文件上传到您的临时目录:
move_uploaded_file($_FILES['uploaded']['tmp_name'], sys_get_temp_dir().DIRECTORY_SEPARATOR.$target);
看看它是否工作
更新
您将输入文件称为"vid",但试图访问"已上载"的输入。
将所有$_FILES事件替换为$_FILES['vid'][]。。。
并在您的机器上启用错误报告
如何从中获得视频的价值
$target = basename( $_FILES['uploaded']['name']) ;
WHile第一个块包含指定给html的文件名。
在您的情况下,它是:Video: <input name="vid" type="file" />
Vid
所以在你的代码上使用这个:
<?php
$target = basename( $_FILES['vid']['name']) ;