从html表单上传php +图片

时间:2011-11-29 14:39:40

标签: php html video web

我是使用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();
}

任何帮助都将非常感谢有大量与此表单相关的代码,因此我只发布相关部分。我有多个相同形式的复选框和文本框,它们都正确提交所以我很确定问题出在“文件”部分

3 个答案:

答案 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文件进行更改。