0

このコードを使用して、現時点でmysqlとフォルダの両方に画像を適切に保存するにはどうすればよいですか?

<?php

if (isset($_FILES['image']) && $_FILES['image']['size'] > 0) { 

          // Temporary file name stored on the server
          $tmpName  = $_FILES['image']['tmp_name'];  

          // Read the file 
          $fp     = fopen($tmpName, 'r');
          $data = fread($fp, filesize($tmpName));
          $data = addslashes($data);
          fclose($fp);


          // Create the query and insert
          // into our database.
          $query = "INSERT INTO tbl_images ";
          $query .= "(images) VALUES ('$data')";
          $results = mysql_query($query, $conn);

          // Print results
          print "Thank you, your file has been uploaded.";

}
else {
   print "No image selected/uploaded";
}


if (!mysql_query($sql, $link))
   {
   die('Error: ' . mysql_error());
   }

?>'

また、それをどのように適切に表示するか。画像のデータベースはid、imagesです。私はその仕事のためにもっと何かが必要ですか、それともそれで十分ですか。ありがとうございました。

4

2 に答える 2

1

上記のコードから、画像はフォルダではなくデータベースに保存されます。フォルダに保存するには、クエリの挿入後に以下のコードを使用する必要があります。

move_uploaded_file($tmpName,"upload/" .$filename );

ここでアップロードはフォルダ名です。

于 2012-12-04T07:17:00.910 に答える
0

画像をデータベースに保存する場合は、base64_encodeメソッドを使用できます

$image = file_get_contents('filename.gif');
$imencoded = base64_encode($image);   
$query = "INSERT INTO tbl_images ";
$query .= "(images) VALUES ('$imencoded')";

ただし、イメージをdbに保存することはお勧めしません。また、IE6および7ではサポートされません。

于 2012-12-04T07:08:45.197 に答える