2011-01-05 10 views
-2

ファイルをアップロードするアプリケーションを作成していますが、うまくいきます。今はデータベースにファイルをアップロードしたいのですが、データベースにアクセスしてアップロードしたファイル名をリストに表示したいと思っています。PHPコードでデータベースにファイルをアップロード

だから私を助けてください。私のコードは以下の通りです:

function uploadFile() { 
    global $template; 
    //$this->UM_index = $this->session->getUserId(); 
    switch($_REQUEST['cmd']){ 


     case 'upload': 


      $filename = array(); 
      //set upload directory 
      //$target_path = "F:" . '/uploaded/'; 
      for($i=0;$i<count($_FILES['ad']['name']);$i++){ 
      if($_FILES["ad"]["name"]) 
      { 
       $filename = $_FILES["ad"]["name"][$i]; 
       $source = $_FILES["ad"]["tmp_name"][$i]; 
       $type = $_FILES["ad"]["type"]; 

       $name = explode(".", $filename); 
       $accepted_types = array('text/html','application/zip', 'application/x-zip-compressed', 'multipart/x-zip', 'application/x-compressed'); 
       foreach($accepted_types as $mime_type) 
       { 
        if($mime_type == $type) 
        { 
         $okay = true; 
         break; 
        } 
       } 

       $continue = strtolower($name[1]) == 'zip' ? true : false; 
       if(!$continue) { 
       $message = "The file you are trying to upload is not a .zip file. Please try again."; 
       } 
       $target_path = "F:" . '/uploaded/'.$filename; 
       // change this to the correct site path 
       if(move_uploaded_file($source, $target_path)) { 
       $zip = new ZipArchive(); 
       $x = $zip->open($target_path); 
       if ($x === true) { 
       $zip->extractTo("F:" . '/uploaded/'); // change this to the correct site path 
       $zip->close(); 

       unlink($target_path); 
       } 
       $message = "Your .zip file was uploaded and unpacked."; 
       } else {  
       $message = "There was a problem with the upload. Please try again."; 
       } 

      } 
     } 
      echo "Your .zip file was uploaded and unpacked."; 
      $template->main_content = $template->fetch(TEMPLATE_DIR . 'donna1.html'); 
      break; 
     default: 
      $template->main_content = $template->fetch(TEMPLATE_DIR . 'donna1.html'); 
      //$this->assign_values('cmd','uploads'); 
      $this->assign_values('cmd','upload'); 
} 
} 

私のhtmlページは

<html> 
    <link href="css/style.css" rel="stylesheet" type="text/css"> 
     <!--<form action="{$path_site}{$index_file}" method="post" enctype="multipart/form-data">--> 
<form action="index.php?menu=upload_file&cmd=upload" method="post" enctype="multipart/form-data"> 

<div id="main"> 
    <div id="login"> 

      <br /> 
      <br /> 

      Ad No 1: 
       <input type="file" name="ad[]" id="ad1" size="10" />&nbsp;&nbsp;Image(.zip)<input type="file" name="ad[]" id="ad1" size="10" /> Sponsor By : <input type="text" name="ad3" id="ad1" size="25" /> 
       <br /> 
       <br /> 

    </div> 
</div> 
</form> 
    </html> 
+2

ご質問はありますか? –

+0

私のために私のアプリケーションを親切に書いてくれますか?ありがとうございました。 – dqhendricks

答えて

0

デシベルでフィールドとしてアップロードされたファイル名を保存しないのはなぜですか?

0

あなたがデータベースにファイルの場所を格納しているように見えるあなたはいけない、「アップロード」を実施してきたあなたのコードを見ると、あなたが次のことを実行する必要があります。

  • アップロード時に、ファイル名の詳細を格納データベーステーブルへのパス
  • これらを一覧として表示するには、データベースにクエリを行い、HTMLページに書き戻します。

これはインターネット上で多くの例がありますが、PHP.netは始めるのに適しています。

すべてを行う必要がディレクトリの内容を表示している場合、あなたは、データベースを必要とせずにリストを達成することができます。

関連する問題