mysqlデータベースに保存されている画像を表示しようとしています。 ..だからそれは、DBに格納し、何か(適切なサイズ)を行いますが、私はそれが手動であるかを見ることができない..私は、これはOKだとし(mysql dbに保存されている)phpファイルの画像を表示
if (isset($_SESSION['mod']) && (isset($_GET['upload']))) {
if (isset($_FILES['image']) && $_FILES['image']['size'] > 0) {
$con = mysql_connect("localhost", "root");
mysql_select_db("psi", $con);
// 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);
//now i use <tmpName> as an actual name of file
$tmpName = $_FILES['image']['name'];
if (isset($_GET['name']))
$tmpName = $_GET['name'];
$uname = $_SESSION['uname'];
$idObj = mysql_query("SELECT id_object AS id FROM tobject WHERE uname = '$uname'");
$idObj = mysql_fetch_assoc($idObj);
$idObj = $idObj['id'];
// Create the query and insert
// into our database.
$query = "INSERT INTO slike ";
$query .= "VALUES ('', '$idObj', '$data', '$tmpName')";
$results = mysql_query($query, $con);
// Print results
print "Thank you, your file has been uploaded.";
}
else {
print "No image selected/uploaded";
}
}
: 私はそれをこのように保存します、私はこのコードでそれを取得しようとすると:
else if (isset($_GET['idSlike'])) {
$idSlike = $_GET['idSlike'];
$con = mysql_connect("localhost", "root");
mysql_select_db("psi", $con);
$res = mysql_query("SELECT slika FROM slike WHERE id_slika = '$idSlike'");
if (!$res) {
die("greska: " . mysql_error());
};
$slika = mysql_fetch_array($res);
$slika = $slika['slika'];
header('Content-Type: ' . $slika['mimetype']);
echo $slika;
}
注:DBからの両方の保存と取得画像が同じファイルで (image.php)です...
私は何も得ることはありません... 私はそれを表示してみました:
<img src="image.php?idSlike=10"/>
私のハードコードのIDが、彼らは私も
で試してみました
デシベルに存在します
echo "<img src=\"image.php?idSlike=13\">";
もう1つのPHPファイルがありますが、空きの画像があります(正しいsrcを使用)
私はxamppを使用しています(mysql 5.5.16; PHP 5.3.8)...と開発環境での通知や警告の
あなたの質問に記載されている問題の横に、 SQLインジェクションを見てください。あなたのスクリプトはそれに対して脆弱です! – stUrb
私はそれを見てくれてありがとう.. :) – maricn
古代の 'mysql_ *'関数で新しいコードを書いてください。それらはもはや維持されず、コミュニティは[非推奨プロセス](http://goo.gl/KJveJ)を開始しました。代わりに、[準備完了ステートメント](http://goo.gl/vn8zQ)について学び、[PDO](http://php.net/pdo)または[MySQLi](http://php.net/)を使用する必要があります。 mysqli)。あなたが決定できない場合、[この記事](http://goo.gl/3gqF9)が選択に役立ちます。あなたが学びたい人は、[ここではかなり良いPDO関連のチュートリアルです](http://goo.gl/vFWnC)。 –