对PHP编程和Web一般没有太多经验,所以我从教程中构建这个代码,它应该做的是将数据存储在数据库中,但它似乎完全忽略了任何语句(例如选择不正确的数据格式时出现异常)并且只是在点击提交按钮后刷新页面,任何想法如何解决这个问题?
<div id='box'>
<form method='post' enctype='multipart/form-data'>
<?php
if(isset($_FILES['video'])){
$name = $_FILES['video']['name'];
$type = explode('.', $name);
$type = end($type);
$size = $_FILES['video']['size'];
$randon_name = rand();
$tmp = $_FILES['video']['tmp_name'];
if($type != 'mp4' && $type != 'MP4' && $type != 'flv' && $type !='avi'){
$message = "bad format";
}
else{
mysql_query("INSERT INTO videos VALUES('', '$name', 'videos/$randon_name.$type')");
$message = "successful upload";
}
echo $message;
}
?>
Choose file : <br/>
<input type='file' name='video'/>
<br/><br/>
<input type='submit' value='Upload'/>
</form>
</div>
答案 0 :(得分:0)
似乎您选择的文件大于upload_max_filesize或post_max_size。
如果是这种情况,则$_FILES
变量为空,您什么也看不见。如果您选择较小的文件,则在脚本顶部执行print_r($_FILES)
时会看到一些内容。
如果您在apache中运行php作为模块,您可以尝试添加.htaccess,如下所示:
php_value upload_max_filesize 200M
php_value post_max_size 200M
否则你需要编辑你的php.ini。据我所知,你无法通过ini_set()
设置这些php.ini值。