PHP文件数据库上传

时间:2014-06-03 19:01:00

标签: php

对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>

1 个答案:

答案 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值。