在php上传时没有选择文件

时间:2016-10-23 03:06:59

标签: php mysql file-upload

我正在尝试上传视频并在同一页面上尝试插入数据库。 这是我想做的事情。但它给了我没有文件选择的消息。

<?php

if( true == isset($_POST['upload']))
{

$name=$_FILES['uploadvideo']['name'];
 $type=$_FILES['uploadvideo']['type'];
//$size=$_FILES['uploadvideo']['size'];
$cname=str_replace(" ","_",$name);
$tmp_name=$_FILES['uploadvideo']['tmp_name'];
$target_path="test_upload/";
$target_path=$target_path.basename($cname);

if(move_uploaded_file($_FILES['uploadvideo']['tmp_name'],$target_path))
{
echo $sql="INSERT INTO video(name,type) VALUE('".$cname."','".$type."')"; 
$result=mysql_query($sql);
echo "Your video ".$cname." has been successfully uploaded";
}
}

<form name="video" enctype="multipart/form-data" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<input name="MAX_FILE_SIZE" value="100000000000000"  type="hidden"/>
<input type="file" name="uploadvideo" />
<input type="submit" name="upload" value="SUBMIT" />
</form>

?>

2 个答案:

答案 0 :(得分:0)

你需要在你拥有php文件的目录中创建一个文件夹test_upload

添加

error_reporting(E_ALL); 

在php代码的开头,这样你就可以在页面中看到错误。

答案 1 :(得分:0)

mysql系列函数已弃用,已从PHP 7+中完全删除,因此您应将代码升级为mysqliPDO并利用{{1}帮助防止恶意SQL注入。我还建议,当您允许用户上传文件时,您应该对上传的文件进行更多处理,以确保它符合预期的类型!

prepared statements