我是使用php和html的新手,我想知道是否有人可以告诉我我的代码在哪里出错了。我正在尝试上传一部mp4电影(不知道这是不是问题),并且该部分表格总是回来为空。这些视频与我的php代码位于同一目录中。
HTML代码
<input type = 'file' name = 'sonogram'/>
PHP代码
Codefunction addImage($studyId)
{
//check to make sure they have uploaded a sonogram
if(!empty($_FILES['sonogram']))
$sonogram = $_FILES['sonogram'];
else
echo "BADDD";
//call our embedded procedure to add the video to the database
mysql_query("call SaveImage($studyId, $sonogram)");
mysql_error();
}
任何帮助都将非常感谢有大量与此表单相关的代码,因此我只发布相关部分。我有多个相同形式的复选框和文本框,它们都正确提交所以我很确定问题出在“文件”部分
答案 0 :(得分:3)
为您的表单设置:
<form enctype="multipart/form-data" method="post" action="youractionurl">
希望有所帮助
答案 1 :(得分:3)
您必须使用多部分表单上传文件 例如:
<form enctype="multipart/form-data" action="upload.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="100000" />
Choose a file to upload: <input name="uploadedfile" type="file" /><br />
<input type="submit" value="Upload File" />
</form>
现在您应该从名为upload.php的页面访问$ _FILES
答案 2 :(得分:0)
您可能需要检查要上传的文件的大小。有几个地方你必须定义适当的大小。如上所述,表单上的MAX_FILE_SIZE是一个。您还必须在php.ini文件中检查脚本的可用内存(memory_limit)和可用的处理时间(max_input_time,max_execution_time)以及发布请求的最大大小(post_max_size)。这些可以直接在php.ini上或使用htaccess文件进行更改。