簡體   English   中英

每個上傳多張照片,並將它們分配給數據庫中的一個用戶ID

[英]upload multiple photos per and assign them to one userid in the database

我正在建立一個廣告站點,允許用戶每個廣告上傳多張照片,我該如何工作? 我是php新手

<?php echo $error_msg; ?>

<?php
    include_once "connection.php";

    if(isset($_FILES['files'])){

    $errors= array();

    foreach($_FILES['files']['tmp_name'] as $key => $tmp_name ){
        $file_name = $key.$_FILES['files']['name'][$key];
        $file_size =$_FILES['files']['size'][$key];
        $file_tmp =$_FILES['files']['tmp_name'][$key];
        $file_type=$_FILES['files']['type'][$key];  

        if($file_size > 2097152){
            $errors[]='File size must be less than 2 MB';
        }

        $sql = mysql_query("INSERT INTO upload_data (`postid`,`file_name`,`file_size`,`file_type`) VALUES('$postid','$file_name','$file_size','$file_type')")or die (mysql_error());

        $desired_dir="uploads";
        if(empty($errors)==true){
            if(is_dir($desired_dir)==false){
                mkdir("$desired_dir", 0700);        
            }
            if(is_dir("$desired_dir/".$file_name)==false){
                move_uploaded_file($file_tmp,"$desired_dir/".$file_name);
            }else{                                  
                $new_dir="$desired_dir/".$file_name.time();
                 rename($file_tmp,$new_dir);                
            }
            mysql_query($sql);          
        }else{
                print_r($errors);
        }
    }
    if(empty($error)){
    echo "Success";
        }
    }
?>

嘗試上傳多個文件時遇到的最常見問題是php.ini文件中的upload_max_filesize和max_post_size。

如果您在上傳一系列非常小的圖像時沒有問題,那么這將是您的問題。

問題: php文件上傳的大小有效地討論了這個問題。

您還應該考慮回顯$ _FILES ['files'] ['error'],這通常會很有幫助。 php手冊解釋了代碼。

不要忘記檢查您是否還在HTML FORM元素中包括了正確的調用:

<form method='POST' enctype='multipart/form-data' action='myfile.php'>

確保您還沒有在HTML表單中指定過小的max_file_size。

我建議您不要禁止上傳大文件,而應調整腳本中所有超大圖像的大小。 這將極大地幫助您的用戶。

我希望這有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM