2013-05-06 44 views
0

我有一個多文件上傳腳本,將上傳的文件轉換爲zip。它的工作完美無瑕。僅有的問題是將數據上傳到數據庫。我嘗試了一切,數據庫仍然沒有得到任何數據。兩件事:1:我想發送HTML鏈接標記內的文件路徑,以便在將要加載的頁面上顯示爲鏈接,2:在表單上提交的其餘數據。任何幫助都會很棒。下面是代碼:如何正確發送HTML鏈接標記到數據庫作爲條目?

<?php 

set_time_limit(0); // Make sure php doesnt end script after 30 seconds 
ini_set('memory_limit','128M'); 
ini_set('upload_max_filesize', '100M'); 
ini_set('post_max_size', '100M'); 



$project = $_POST['project']; 
$assignto = $_POST['assignto']; 
$asdate = $_POST['asdate']; 

$chdate = $_POST['chdate']; 
$ddate = $_POST['ddate']; 
$timestamp = time(); 

if (isset ($_POST['submit'])) 
{ 
    $filesArray= $_FILES["files"]; 

for ($num=0; $num<count($filesArray["name"]);$num++) 
{ 
    $fileName = $filesArray["name"][$num]; 
    $tempName= $filesArray["tmp_name"][$num]; 

    move_uploaded_file($tempName,"tmp/".$fileName); 
} 
    $archiveName= $timestamp.".zip"; 
    $filesArrayNames= $_FILES["files"]["name"]; 


    $zipsDir= scandir ("uploads/"); 
    $error = false; 
    foreach($zipsDir as $zipDirfile) 
    { 
     if($zipDirfile == $archiveName) 
     { 
      $error= true ; 
      break; 
     } 
    } 

     if ($error== false) 
     { 
      $tmpDir = scandir ("tmp/"); 
      $zip = new ZipArchive; 
      $zip->open("uploads/".$archiveName, ZipArchive::CREATE); 


      for ($num =0; $num<count($filesArray["name"]);$num++) 
      { 
      $fileName = $filesArray["name"][$num]; 
      foreach($tmpDir as $tmpDirfile) 
      { 
        if($tmpDirfile == $fileName) 
        { 
        $zip->addFile("tmp/".$fileName); 
        echo " Adding: ".$fileName."<br/>"; 
        } 
      } 
     } 
     $zip->close(); 

     for ($num=0; $num<count($filesArray["name"]);$num++) 
     { 
     $fileName = $filesArray["name"][$num]; 
      foreach($tmpDir as $tmpDirFile) 
      { 
        if($tmpDirfile == $fileName) 
        { 
        unlink("tmp/".$fileName); 
        } 
} 


      } 
     } 
     else 
     {       
     echo "Name already exists"; 



} 

} 

$filepath= "<a href='"'http://www.amadastage.com/uploads/ '"'.$archiveName.'"'>Files</a>'; 


mysql_connect("webcontrolcenter.com","dude","usa") or die ('Error:' .mysql_error()); 
//database connection 
    mysql_select_db("mediamanagement"); 

mysqli_query("INSERT INTO demo (name, id_continent, lastvisit,cdate,ddate,email) 
VALUES ('project', 'assignto','asdate','chdate','ddate')"); 
+0

爲什麼你要整條鏈路的標籤將被保存在數據庫?只有名字就足夠了 – 2013-05-06 07:05:34

+0

我希望它是代碼中標題文件的鏈接標記。 – NewHistoricForm 2013-05-06 07:41:18

回答

4

像nvanesch說的使用mysqli創建連接。
你也需要把變量值放入引號:

嘗試這樣的:

$sql = "INSERT INTO demo (`name`, `id_continent`, `lastvisit`, `cdate`, `ddate`, `email`) 
     VALUES ('".$project."', '".$assignto."','".$asdate."','".$chdate."','".$ddate."')"; 
mysqli_query($sql); 
+0

我將如何格式化爲html鏈接標籤發佈一個條目?那會怎麼樣?這是一個標記爲$ filepath =「? – NewHistoricForm 2013-05-06 07:39:03

+0

是的,但是當你直接傳遞它時,你會得到錯誤,因此在作爲查詢變量傳遞之前,使用['addslashes()'](http://php.net/manual/en/) function.addslashes.php) – 2013-05-06 07:44:25

+0

但是我建議你只保存鏈接名稱而不是整個鏈接標籤,如Alien先生評論過的那樣。 – 2013-05-06 07:47:42

0

您正在連接與mysql_和明年查詢與mysqli_

你要麼都用mysql_(不建議作爲mysql_已廢棄),或在任何地方使用mysqli_。