2014-08-27 179 views
0

所以我發現一些代碼,完美的作品將文件上載到一個目錄,但我一直在掙扎了數天嘗試只是一次上傳多張照片到數據庫。我需要一些幫助,試圖弄明白,因爲我已經想出所有這些教程空...PHP - 上傳多張照片到數據庫

這裏是我的HTML代碼:

<form method="post" action="test.php" enctype="multipart/form-data"> 
    <p>File:</p> 
    <input type="file" name="file[]" id="file" > 
    <input type="submit" value="Upload"> 
</form> 

這裏是我的數據庫信息(測試分貝):

|| idtest (AI INT) || nameTesting (varchart 50) || testing (longblob) 

這裏是我的PHP至今:

<?php 
    //Connect to DB 
    $conn = mysql_connect ('localhost', 'root', 'root'); 

    if (!$conn){ 
     die("Could Not Connect to MySQL!"); 
    } 
    if(!mysql_select_db("test")){ 
     die("Could Not Open Database:" . mysql_error()); 
    } 
    echo "<p>Connected</p>"; 

    foreach ($_FILES['file']['name'] as $f => $name) { 
    $allowedExts = array("gif", "jpeg", "jpg", "png"); 
    $temp = explode(".", $name); 
    $extension = end($temp); 

    if ((($_FILES["file"]["type"][$f] == "image/gif") 
    || ($_FILES["file"]["type"][$f] == "image/jpeg") 
    || ($_FILES["file"]["type"][$f] == "image/jpg") 
    || ($_FILES["file"]["type"][$f] == "image/png")) 
    && ($_FILES["file"]["size"][$f] < 2000000) 
    && in_array($extension, $allowedExts)) 
    { 
     if ($_FILES["file"]["error"][$f] > 0){ 
     echo "Return Code: " . $_FILES["file"]["error"][$f] . "<br>"; 
     } else { 
     if (file_exists("upload/" . $name)){ 
      echo "<p>File Already Exists</p>"; 
     } else { 
      move_uploaded_file($_FILES["file"]["tmp_name"][$f], "upload/" . uniqid() . "_" . $name); 
     } 
     } 
    } else { 
     $error = "Invalid file"; 
    } 
    } 
?> 

我的終極目標是什麼是創建一個動態頁面creato其中包括一個畫廊。所以我正在尋找最佳的方式來爲每個獨特的頁面上傳多張照片,無限量地使用。我怎樣才能做到這一點?

在此先感謝!

回答

0

你有沒有想過一種可能做你正在做的事情,但不是照片移動到你的數據庫,只存儲鏈接到數據庫文件的目錄。 (這也將停止爆炸數據庫)

例如東西沿着線..

else 
{ 
     move_uploaded_file($_FILES["file"]["tmp_name"][$f], "upload/" . uniqid() . "_" . $name); 
    mysql_query("INSERT INTO filelocation (FID,filelocation) VALUES (DEFAULT,'{$filepath}'); 
} 

那麼你可以選擇文件路徑位置動態,當您需要

+0

啊,可能是更好哉!然後創建特定於每個獨特頁面的目錄,對嗎?我會怎麼做呢? – 2014-08-27 22:24:51

+0

動態創建頁面是另一個問題,我想你會想使用像副本($ defaultpage,$ newpage) – hounded 2014-08-27 22:29:53

+0

,然而你的名字是你可以引用它的網頁名稱使用REQUEST_URI http://php.net /manual/en/reserved.variables.server.php – hounded 2014-08-27 22:36:49