2017-10-03 4 views
-1

Ich möchte das Dokument (pdf, Word, Excel, Bilder) in meine Datenbank einfügen und ich muss es zurückholen. Ich verwende mysql workbenchDokumente (pdf, Word, Excel, Bild) in mysql einfügen?

Wie beende ich diese Aufgabe?

+0

Wenn Sie sie in die Datenbank einfügen, wird die Datenbankgröße groß! –

+0

Ich bin nicht in der Lage zu verstehen, was Sie sagen –

+0

Sie können den Spaltentyp als 'BLOB' einstellen, um pdf/word/excel/image zu speichern. Aber wenn sich die Daten mit der gegebenen Zeit häufen, würde die Größe Ihrer Datenbank exponentiell wachsen. Hoffe, du hast verstanden, was ich meinte. In der Zwischenzeit folgen [diese] (https://forums.mysql.com/read.php?20,17671,27914), um zu erreichen, was Sie wollen –

Antwort

0

Hier ist mein Code für mehrere Datei

<?php 
header('Content-type: application/json'); 
//echo '<pre>'; 

     const DB_SERVER = ""; 
     const DB_USER = "root"; 
     const DB_PASSWORD = "root"; 
     const DB = ""; 

     $con = mysqli_connect(DB_SERVER,DB_USER,DB_PASSWORD,DB); 


$img = $_FILES['img']; 


if(!empty($img)) 
{ 
    $img_desc = reArrayFiles($img);  
    $newname1 = array(); 
    foreach($img_desc as $val) 
    { 
     $newname = date('YmdHis',time()).mt_rand().'_'.$val['name']; 
     move_uploaded_file($val['tmp_name'],'./uploads/'.$newname); 
     $newname1[] = $newname;  
    }  
} 


    foreach($newname1 as $filename) 
    {  
     //print_r($filename); 
     $sql = mysqli_query($con,"INSERT INTO image_data(filename) VALUES('$filename')"); 
     //echo "INSERT INTO image_data(filename) VALUES($filename)"; 
    } 
    // $insertedid = $this->db->insert_id; 
    if($sql){ 
     $response = array("success" => true,"msg" => "file successfully uploaded","filename" => $newname1); 
     echo json_encode($response); 
    }else{ 
     $response = array("success" => false,"msg" => "file upload failed","filename" => $newname1); 
     echo json_encode($response); 
    } 

function reArrayFiles($file) 
{ 
    $file_ary = array(); 
    $file_count = count($file['name']); 
    $file_key = array_keys($file); 

    for($i=0;$i<$file_count;$i++) 
    { 
     foreach($file_key as $val) 
     { 
      $file_ary[$i][$val] = $file[$val][$i]; 
     } 
    } 
    return $file_ary; 
} 
?> 

Hier laden, wenn ich eine Datei i es & auf bestimmte Ordner laden laden nur als Referenz

Während es der Name Speicherung in Datenbank abrufen i anhängen Pfad bleiben sauber in diesem Ordner bestimmtes Bild so dass es dann zurückgeben mich url wie unten

public function getimage(){ 

      $totaldata = array(); 
      $sql = mysqli_query($this->db,"SELECT * from image_data ORDER BY id DESC LIMIT 10") or die(mysqli_error($this->db)); 

       if(mysqli_num_rows($sql)>0){ 

        while($data = mysqli_fetch_object($sql)){ 

         if ($data->filename != '' && is_file("uploads/".$data->filename)) { 
          $data->filename = "http://localhost/MFU/uploads/".$data->filename; 
         } else { 
          $data->filename = ''; 
         } 
         $totaldata[] = $data; 
        } 

        $success = array("status"=>"success","msg"=>"Image Details","imageurl"=>$totaldata); 
        $this->response($this->json($success),200); 
       } 
       else 
       { 
        $error = array("status"=>"Failed","msg"=>"There is no data exist","imageurl"=>$totaldata); 
        $this->response($this->json($error),400); 
       } 
     } 

auf diese Weise Datenbank-Datei & können Sie Ihre Aufgabe abschließen.

Ein anderer Weg ist Image-Server von verschiedenen Plattformen zur Verfügung gestellt, können Sie Ihr Bild dort & es wird Ihnen den gesamten Dateipfad zu dem Bild oder der Datei, die Sie in der Datenbank speichern können.

Ich hoffe, es hilft Ihnen zu verstehen.

Verwandte Themen