2017-03-08 14 views
-1

現在、私のプロジェクトで作業していて、データベースから画像を表示するのに苦労しています。私はそれを確認する際、画像の名前はphpmyadminのに店だったが、その私のtable.Here上でそれを表示していない私のコードphp-データベースに画像を挿入し、phpを使って表示する方法

テーブルの上に画像を表示するデータベース  storing the image in the database

で画像を保存している displaying the image on the table

+4

コードをテキストとして送信してください。 – MrDarkLynx

+0

'mysql_ *'関数を使わないでください。現バージョンのPHPでは廃止され削除されています。その代わりに、mysqli_ *またはPDOと_preparedステートメントを使用します。 – MrDarkLynx

+0

'画像を車両から選択してください。image =" $ image "'あなたの質問は間違っています。 'image = "$ image" 'または' imagagerame、vehicle from imagecontent from image = "$ image" ' – ruhul

答えて

-1

これを試すことができます。 ファイルImage.php

<?php 


    // verify request id. 
    if (empty($_GET['id']) || !is_numeric($_GET['id'])) { 
     echo 'A valid image file id is required to display the image file.'; 
     exit; 
    } 

    $imageId = $_GET['id']; 

    //connect to mysql database 
    if ($conn = mysqli_connect('localhost', 'root', 'root', 'test')) { 
     $content = mysqli_real_escape_string($conn, $content); 
     $sql = "SELECT type, content FROM images where id = {$imageId}"; 

     if ($rs = mysqli_query($conn, $sql)) { 
      $imageData = mysqli_fetch_array($rs, MYSQLI_ASSOC); 
      mysqli_free_result($rs); 
     } else { 
      echo "Error: Could not get data from mysql database. Please try again."; 
     } 
     //close mysqli connection 
     mysqli_close($conn); 

    } else { 
     echo "Error: Could not connect to mysql database. Please try again."; 
    } 

    if (!empty($imageData)) { 
     // show the image. 
     header("Content-type: {$imageData['type']}"); 
     echo $imageData['content']; 
    } 
?> 

ファイル:Upload.php

<?php 
/** 
* Upload an image to mysql database. 
*/ 

// Check for post data. 
if ($_POST && !empty($_FILES)) { 
    $formOk = true; 

    //Assign Variables 
    $path = $_FILES['image']['tmp_name']; 
    $name = $_FILES['image']['name']; 
    $size = $_FILES['image']['size']; 
    $type = $_FILES['image']['type']; 

    if ($_FILES['image']['error'] || !is_uploaded_file($path)) { 
     $formOk = false; 
     echo "Error: Error in uploading file. Please try again."; 
    } 

    //check file extension 
    if ($formOk && !in_array($type, array('image/png', 'image/x-png', 'image/jpeg', 'image/pjpeg', 'image/gif'))) { 
     $formOk = false; 
     echo "Error: Unsupported file extension. Supported extensions are JPG/PNG."; 
    } 
    // check for file size. 
    if ($formOk && filesize($path) > 500000) { 
     $formOk = false; 
     echo "Error: File size must be less than 500 KB."; 
    } 

    if ($formOk) { 
     // read file contents 
     $content = file_get_contents($path); 

     //connect to mysql database 
     if ($conn = mysqli_connect('localhost', 'root', 'root', 'test')) { 
      $content = mysqli_real_escape_string($conn, $content); 
      $sql = "insert into images (name, size, type, content) values ('{$name}', '{$size}', '{$type}', '{$content}')"; 

      if (mysqli_query($conn, $sql)) { 
       $uploadOk = true; 
       $imageId = mysqli_insert_id($conn); 
      } else { 
       echo "Error: Could not save the data to mysql database. Please try again."; 
      } 

      mysqli_close($conn); 
     } else { 
      echo "Error: Could not connect to mysql database. Please try again."; 
     } 
    } 
} 
?> 

<html> 
    <head> 
     <title>Upload image to mysql database.</title> 
     <style type="text/css"> 
      img{ 
       margin: .2em; 
       border: 1px solid #555; 
       padding: .2em; 
       vertical-align: top; 
      } 
     </style> 
    </head> 
    <body> 
     <?php if (!empty($uploadOk)): ?> 
      <div> 
       <h3>Image Uploaded:</h3> 
      </div> 
      <div> 
       <img src="image.php?id=<?=$imageId ?>" width="150px"> 
       <strong>Embed</strong>: <input size="25" value='<img src="image.php?id=<?=$imageId ?>">'> 
      </div> 

      <hr> 
     <? endif; ?> 

     <form action="<?=$_SERVER['PHP_SELF']?>" method="post" enctype="multipart/form-data" > 
      <div> 
      <h3>Image Upload:</h3> 
      </div> 
      <div> 
      <label>Image</label> 
      <input type="hidden" name="MAX_FILE_SIZE" value="500000"> 
      <input type="file" name="image" /> 
      <input name="submit" type="submit" value="Upload"> 
      </div> 
     </form> 
    </body> 
</html> 

交換ライン

mysqli_connect( 'ローカルホスト'、 'ルート'、 'ルート'、 '試験')

mysqli_connect( 'your host'、 'your username'、 'your password'、 'your database name')

をファイルに保存してもう一度保存してください。

これで完了です。

+0

nice SQLインジェクション穴 –

関連する問題