使用php从数据库中检索图像

时间:2013-01-31 19:34:55

标签: php file-upload mysqli

<?php
$file= $_FILES["file"]["name"];//file selected in form 
echo "Upload: " . $_FILES["file"]["name"] . "<br>";
    echo "Type: " . $_FILES["file"]["type"] . "<br>";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
    echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";


      move_uploaded_file($_FILES["file"]["tmp_name"],
      "c:/EasyPHP-12.1/www/new website/upload/" . $_FILES["file"]["name"]);
      echo "Stored in: " . "c:/EasyPHP-12.1/www/new website/upload/" . $_FILES["file"]["name"];
      if(($_FILES['file']['size'] >0))
        {echo 'imagetrue';$con=mysql_connect('localhost','abc','YES') or die ("con");;
                    $db=mysql_select_db("website",$con) or die ("db");
                    $query=mysql_query("insert into website.picture (imagew) values ('$file')") or die('query'); //storing in db}
      //echo $_FILES['file']['error'] ;

      $query2= mysql_query("select * from website.picture");
$res=mysql_fetch_array($query2);
foreach($res as $row){ 
$str = "c:/EasyPHP-12.1/www/new website/upload/ ".$row['imagew'];
echo '<img src="'.$str.'" alt="no">' ;}

?>

我正在使用此脚本存储图像,然后在网页上显示它,但它无法正常显示空缩略图......

2 个答案:

答案 0 :(得分:1)

我非常怀疑使用像c这样的绝对路径:/EasyPHP-12.1/www/new website / upload /

我当时你正在从http://127.0.0.1/new-website(我认为你是 - 或类似的东西)访问该页面,那么拥有Windows系统路径名可能是个问题 - 浏览器甚至会读取这样的本地文件系统吗?

此外,当您将其移动到另一台服务器时,它会变得非常不便携。

我建议$ str ='upload /'.$ row ['imagew'];所以这是相对于托管在(我推测)127.0.0.1/new website/image-viewer.php(或你称之为的任何东西)的文件

答案 1 :(得分:0)

检查move_uploaded_file()的返回值 - 如果为false则表示失败。如果失败尝试使用相对路径:

move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]);

这再次假定您的脚本位于127.0.0.1/new-website

编辑 - 注意:::您的表单是否使用enctype =“multipart / form-data”?如果不是那么图像永远不会到达服务器!