我可以使用以下表单上传图像,mp3,mp4,.doc文件等。但它没有上传.flv文件。任何人都可以告诉我我的代码中的问题是什么,或者我如何上传.flv ..
<?php
$mysql_connect = mysql_connect("localhost", "root" );
mysql_select_db("vedio");
ini_set('upload_max_filesize','1000M');
if(isset($_POST['action']) == "upload")
{
$name = $_FILES['file']['name'];
$tmp_name = $_FILES['file']['tmp_name'];
$size = $_FILES['file']['size'];
$type = $_FILES['file']['type'];
$name = str_replace(" ", "", $name);
$sql = mysql_query("INSERT INTO content VALUES('',
'$name', '$tmp_name', '$size' )");
if($sql)
{
echo "successfully uploaded";
}
else
{
echo "Something is wrong to upload";
}
$upload = "vedio/";
move_uploaded_file($_FILES['file']['tmp_name'], $upload . $name);
echo "<br/>";
echo $name;
echo "<br/>";
echo $tmp_name;
echo "<br/>";
echo $size;
echo "<br/>";
echo $type;
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"
enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="100000000000" />
<table width="400" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input type="file" name="file" /></td>
<td><input type="submit" value="upload" name="action" /></td>
</tr>
</table>
</form>
非常感谢。
Shibbir
答案 0 :(得分:1)
我猜你的flv可能太大了..
仅upload_max_filesize不足以设置,您还需要设置post_max_size否则您的POST请求将为空并且您的上传将失败(它基本上看起来像非帖子请求)。
答案 1 :(得分:0)
此行没有意义
if(isset($_POST['action']) == "upload")
你正在调用isset(),它将返回true或false,具体取决于是否为该变量赋值,然后将该true或false与字符串“upload”进行比较,后者显然永远不会相等。您需要检查变量是否已设置或检查该值是否等于“上传”。
if(isset($_POST['action']) && $_POST['action'] == "upload")
还应该检查文件上传错误。类似的东西:
if ($_FILES["file"]["error"] > 0) {
echo "Error: " . $_FILES["file"]["error"] . "<br />";
}
else {
echo "No file upload errors";
}