2014-02-11 33 views
3

将图像上传到文件夹后。如何显示图像..如何在php中上传后显示图像?

其upload.php的我

<?php 
$allowedExts = array("gif", "jpeg", "jpg", "png"); 
$temp = explode(".", $_FILES["file"]["name"]); 
$extension = end($temp); 
if ((($_FILES["file"]["type"] == "image/gif") 
|| ($_FILES["file"]["type"] == "image/jpeg") 
|| ($_FILES["file"]["type"] == "image/jpg") 
|| ($_FILES["file"]["type"] == "image/pjpeg") 
|| ($_FILES["file"]["type"] == "image/x-png") 
|| ($_FILES["file"]["type"] == "image/png")) 
&& ($_FILES["file"]["size"] < 20000000000000000000000) 
&& in_array($extension, $allowedExts)) 
    { 
    if ($_FILES["file"]["error"] > 0) 
    { 
    echo "Return Code: " . $_FILES["file"]["error"] . "<br>"; 
    } 
    else 
    { 
    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>"; 

    if (file_exists("upload/" . $_FILES["file"]["name"])) 
     { 
     echo $_FILES["file"]["name"] . " already exists. "; 
     } 
    else 
     { 
     move_uploaded_file($_FILES["file"]["tmp_name"], 
     "upload/" . $_FILES["file"]["name"]); 
     echo "Stored in: " . "upload/" . $_FILES["file"]["name"]."<br>"; 

$image=$_FILES["file"]["name"]; /* Displaying Image*/ 
     $img="upload/".$image; 
     echo '<img src= "upload/".$img>'; 

     } 
    } 
    } 
else 
    { 
    echo "Invalid file"; 
    } 
?> 

图像上传罚款。但图像不显示。一个小盒子只显示。

这部分没有工作...

/* Displaying Image*/ 
     $image=$_FILES["file"]["name"]; 
       $img="upload/".$image; 
       echo '<img src= "upload/".$img>'; 

如何显示上传成功后的图像?

+0

尝试'“”' – putvande

+0

'echo'';'是什么html输出?并且可以访问'src'属性的url? – SaidbakR

回答

1

试试这个:

header('Content-Type: image/jpeg'); 
readfile($imgPath); 
0

你混淆了一些报价。它应该是:

$image = $_FILES["file"]["name"]; 
$img = "upload/".$image; 
echo "<img src=\"upload/$img\">"; 
1

正如你已经在$ IMG把 “上传”

$img="upload/".$image; 

你并不需要把它放在src了

echo '<img src= "'.$img.'">'; 
0

别把$ img放在报价单上。当你这样做的输出仅仅是$ IMG,不能上传/ ...

呼应< img src=" ' ,$img ,' ">;

1

我曾尝试你的代码及其工作精细只需要更改线路

echo'<img src= "upload/".$img>'; 

echo'<img src="'.$img.'">'; 
-3

只是这样做

echo '<img src="upload/'.$file_name.' "/> 

我们必须采用$file_name变量,因为.. ""(双引号)只能在变量中返回文本 - 它不能返回二进制数来显示图像!