【发布时间】:2013-08-19 22:26:46
【问题描述】:
我创建了这个表单来将我的图像添加到 mysql 数据库中,我认为我做对了——因为它保存了一些东西 :D - 但它不会向我显示图像,我应该怎么做才能“查看”来自 mysql 的图像?!
这是我的表单 php:
$tmp_name=$_FILES['file']['tmp_name'];
if (isset($_POST['submit'])) {
if ((($_FILES['file']['type']) == "image/jpeg")
|| ($_FILES['file']['type']) == "image/gif"
|| ($_FILES['file']['type']) == "image/pjpeg"
&& ($_FILES['file']['size']) > 200000) {
$tmp_name=$_FILES['file']['tmp_name'];
// i also tried addslasheds
$image = mysql_real_escape_string(file_get_contents($_FILES['file']['tmp_name']));
if ($_FILES['file']['error'] > 0) {
echo "return code : " . $_FILES['FILES']['error'];
}else{
if (file_exists($_FILES['file']['name'])) {
echo "your file is already exists!";
}else{
Query("INSERT INTO image(image) VALUES ('".$tmp_name."')");
echo "FILES has been stored";
}
}
}
}else{
echo "invalid file";
}?>
我显示图像的代码是:
<?php
require 'lib.php';
$request=Query('SELECT * FROM image');
while ($row = mysql_fetch_array($request)) {
echo $row['image'];
}?>
【问题讨论】:
-
请注意 mysql_* 函数已弃用。您应该使用 mysqli_ 或 PDO。至于问题,请查看php.net/manual/en/function.move-uploaded-file.php 我没有看到您上传文件的任何目录。然后你需要用正确的来源回显图像标签
-
这真的是你的代码吗?我已经看过几次了。您不存储图像数据,而只是一个临时文件名。即使您稍后将其取回,该图像文件也将早已不复存在。
-
另见:google.com/…
-
@mario:我是在 w3schools 的帮助下写的,我想将图像存储在我的数据库中,而不是任何目录
-
@DeiForm:我看到一个数据库可以将图像保存到它的字段中,