也许会受到上传文件大小的限制,也放会因为字段类型的原因。
给你个参考
http://blog.csdn.net/kingerq/archive/2004/10/06/125789.aspx

解决方案 »

  1.   

    你就记了个log, $_FILES_binary都没有存入数据库
      

  2.   

    $sql = 'INSERT INTO upload_log ('
            .'user_id,user_ip,user_host,user_ua,file_name,file_size,file_type'
            .') VALUES ('
            ."'$user_id','$theip','$thehost','$theua','$_FILES_name','$_FILES_size','$_FILES_type'"
            .')';
    ??????$_FILES_binary在哪?
      

  3.   

    'INSERT INTO upload_log ('
            .'user_id,user_ip,user_host,user_ua,file_name,file_size,file_type'
            .') VALUES ('
            ."'$user_id','$theip','$thehost','$theua','$_FILES_name','$_FILES_size','$_FILES_type'"
            .')';信息都写了,就文件没存
      

  4.   

    谢谢各位,数据库有几个,以下是后面的代码:
            $_FILES_id = mysql_insert_id($db);
            
            $sql = 'INSERT INTO user_files ('
            .'file_id,user_id,file_binary'
            .') VALUES ('
            ."'$_FILES_id','$user_id','$_FILES_binary'"
            .')';
            db_query($sql); // the uploaded variable is not used any more.
            //$uploaded++;
            $user_stat_space = $_FILES_size;        $space_used = ($space_used + $_FILES_size);
            
            // update the stats, 表[stats]
            db_query("UPDATE stats SET stat_value=stat_value + 1 WHERE stat_name='files'");
            
            // see if the user already has an entry *****************start
            // update 表[user_stats] if the user's stat is exit,else insert a new record.
            $statres = db_fetch_assoc(db_query("SELECT * FROM user_stats WHERE user_id='$user_id' LIMIT 1"));
            
            $_FILES_extension = strtolower(substr(strrchr($_FILES_name,"."),1));
            if( $statres['user_id'] == $user_id ){ //exit, update it
                $stsql = 'UPDATE user_stats SET '
                ."space_used = space_used + $user_stat_space, ";
                
                if(in_array($_FILES_extension,$type_image) ){
                    $stsql .= 'images = images ';
                } elseif(in_array($_FILES_extension,$type_video) ){
                    $stsql .= 'video = video ';
                } elseif(in_array($_FILES_extension,$type_text) ){
                    $stsql .= 'docs = docs ';
                } else {
                    $stsql .= 'other = other ';
                }
                $stsql .= " + 1 WHERE user_id='$user_id' LIMIT 1";
                
            } else { //not exit,new one
                $num_docs = 0;
                $num_images = 0;
                $num_vids = 0;
                $num_other = 0;
                    if(in_array($_FILES_extension,$type_image) ){
                    $num_images++;
                } elseif(in_array($_FILES_extension,$type_video) ){
                    $num_vids++;
                } elseif(in_array($_FILES_extension,$type_text) ){
                    $num_docs++;
                } else {
                    $num_other++;
                }
                
                $stsql = 'INSERT INTO user_stats ('
                .'user_id,docs,images,video,other,space_used'
                .') VALUES ('
                ."'$user_id','$num_docs','$num_images','$num_vids','$num_other','$user_stat_space'"
                .')';
            }
            db_query($stsql);
      

  5.   

    文件都不大,另外有个html版本的能用.代码如下:                $file_binary =addslashes(fread(fopen($file['tmp_name'], "r"), filesize($file['tmp_name'])));
                    $file_name = addslashes($file['name']);
                    $file_type = $file['type'];
                    $file_size = intval($file['size']);                //log upload
                    $thehost = $_SERVER['REMOTE_HOST'];
                    $theip = $_SERVER['REMOTE_ADDR'];
                    $theua = $_SERVER['HTTP_USER_AGENT'];
                    $thetime = time();                $sql = 'INSERT INTO upload_log ('
                    .'user_id,user_ip,user_host,user_ua,file_name,file_size,file_type'
                    .') VALUES ('
                    ."'$user_id','$theip','$thehost','$theua','$file_name','$file_size','$file_type'"
                    .')';
                    db_query($sql);                // insert the file into the database
                    $sql = 'INSERT INTO user_files_data ('
                    .'user_id,folder_id,is_public,timestamp,rank,downloads,comments,'
                    .'file_name,file_type,file_size'
                    .') VALUES ('
                    ."'$user_id','0','0','$thetime','0','0','',"
                    ."'$file_name','$file_type','$file_size'"
                    .')';
                    db_query($sql);                $file_id = mysql_insert_id($db);                $sql = 'INSERT INTO user_files ('
                    .'file_id,user_id,file_binary'
                    .') VALUES ('
                    ."'$file_id','$user_id','$file_binary'"
                    .')';
                    db_query($sql);                $uploaded++;
                    $user_stat_space = $file_size;                $space_used = ($space_used + $file_size);                // update the stats
                    db_query("UPDATE stats SET stat_value=stat_value + 1 WHERE stat_name='files'");                // see if the user already has an entry
                    $statres = db_fetch_assoc(db_query("SELECT * FROM user_stats WHERE user_id='$user_id' LIMIT 1"));                $file_extension = strtolower(substr(strrchr($file_name,"."),1));
                    if( $statres['user_id'] == $user_id ){
                            $stsql = 'UPDATE user_stats SET '
                            ."space_used = space_used + $user_stat_space, ";                        if(in_array($file_extension,$type_image) ){
                                    $stsql .= 'images = images ';
                            } elseif(in_array($file_extension,$type_video) ){
                                    $stsql .= 'video = video ';
                            } elseif(in_array($file_extension,$type_text) ){
                                    $stsql .= 'docs = docs ';
                            } else {
                                    $stsql .= 'other = other ';
                            }
                            $stsql .= " + 1 WHERE user_id='$user_id' LIMIT 1";                } else {
                            $num_docs = 0;
                            $num_images = 0;
                            $num_vids = 0;
                            $num_other = 0;
                                    if(in_array($file_extension,$type_image) ){
                                    $num_images++;
                            } elseif(in_array($file_extension,$type_video) ){
                                    $num_vids++;
                            } elseif(in_array($file_extension,$type_text) ){
                                    $num_docs++;
                            } else {
                                    $num_other++;
                            }                        $stsql = 'INSERT INTO user_stats ('
                            .'user_id,docs,images,video,other,space_used'
                            .') VALUES ('
                            ."'$user_id','$num_docs','$num_images','$num_vids','$num_other','$user_stat_space'"
                            .')';
                    }
                    db_query($stsql);
      

  6.   

    建议把FLASH base64 后入库
      

  7.   

    那读出来的时候是不是要先解码?这样的话就不行,要动其它地方的代码,我只负责上传这部分:)
    我觉得应该不是我的flash有问题,或者是这段代码哪里有问题,而是接口有问题.我在我的电脑上模拟了用flash上传文件,再用php存入数据库都能成功,可是到了那个网络上的服务器就是没反应.会不会是网速慢,或者其它方法的问题呢?