-1
<?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">' ;}

?>

我正在使用此脚本存储图像,然后将其显示在网页上,但它不工作它只显示空缩略图...

4

2 回答 2

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(或您所称的任何内容)相关

于 2013-01-31T19:47:56.383 回答
0

检查 move_uploaded_file() 的返回值 - 如果它是假的,那么它就失败了。如果失败,请尝试使用相对路径:

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

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

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

于 2013-01-31T20:08:38.327 回答