如何使用PHP打印功能打印图像

时间:2013-09-03 12:50:03

标签: php javascript html css

请帮帮我。我有一个表单,它从客户端表单中的上传字段中收集图片,并在用户页面上打印出图片。这项工作非常适合localhost,它看起来像下面 Ilamini Ayebatonye非常感谢

NAME:     Name Surname

EMAIL ADDRESS:     email@provider.com

HOME ADDRESS:     123 Random Street, FakeTown

PHONE NUMBER:     012345678911

QUALIFICATION:     I.C.T Certificate

SECTOR:     CCNA

INTEREST:     please put in your interest

请打印此单,附上您的C.V和您的凭证的复印件,并在研讨会当天一起来。

但问题是当我上传网站并尝试注册图片时不会再显示,

我看到的是下面的

ECO9JA-CREATING JOBS IN ICT
          Backgrounds_15670_zps11bc080d.png    

NAME:     Name Surname

EMAIL ADDRESS:     email@provider.com

HOME ADDRESS:     123 Random Street, FakeTown

PHONE NUMBER:     012345678911

QUALIFICATION:     I.C.T Certificate

SECTOR:     CCNA

INTEREST:     please put in your interest

请打印此单,附上您的C.V和您的凭证的复印件,并在研讨会当天一起来。

感谢注册

下面的脚本是图像变量,表格上传和打印fxn如下:

可变

<?php
$file= "file.csv";
$name = $_POST['name'];
$email = $_POST['email'];
$address = $_POST['address'];
$phone = $_POST['phone'];
$qualification = $_POST['qualification'];
$sector = $_POST['sector'];
$interest = $_POST['interest'];
$image= $_POST['image'];
<input type="hidden" name="MAX_FILE_SIZE" value="500">
<P>
<br>
<input type="file" name="image" value="upload" >

在USERPAGE上打印此代码

<?php print"<img src=\"$image\" width=\"100px\" height=\"100px\"\/>";?>

6 个答案:

答案 0 :(得分:1)

使用此功能只需复制并粘贴到项目中即可。

$contents=  file_get_contents('http://localhost/elgg_social/data/36/641483447202.jpg');

$expires = 14 * 60*60*24;

header("Content-Type: image/jpeg");
header("Content-Length: " . strlen($contents));
header("Cache-Control: public", true);
header("Pragma: public", true);
header('Expires: ' . gmdate('D, d M Y H:i:s', time() + $expires) . ' GMT', true);

echo $contents;
exit;

答案 1 :(得分:0)

当您发布图像文件的路径时,问题必然存在。我用图片“test.png”测试了下面的php,它可以工作。

<?php 
$image="test.png";
print"<img src=\"$image\" width=\"100px\" height=\"100px\"\/>";
?>

答案 2 :(得分:0)

看起来您的图片属性存在问题,请删除“px”。 它应该是这样的

<?php print"<img src=\"$image\" width=\"100\" height=\"100\"\/>";?>

答案 3 :(得分:0)

基于上传照片

<input type="file" name="image" value="upload" >

它获取文件路径本身。您可以将上传的文件移动到您的文件夹,相应的文件路径将保存在db。

如果您要将路径上传为

C:\Users\Public\Pictures\Sample Pictures\Desert.jpg

如果您发布为$image = $post['image']

回显它返回错误的路径或null

<img src="C:\Users\Public\Pictures\Sample Pictures\Desert.jpg"/>

如果有时有效,但大多数时间都不会起作用,因为我感觉到这种类型的问题。

感谢。

答案 4 :(得分:0)

根据我在您的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"] < 20000)
&& 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"];
      }
    }
  }
else
  {
  echo "Invalid file";
  }

逐行仔细观察。 您可以在以下位置设置图片上传的最大文件大小:$_FILES["file"]["size"] < 20000

此外,代码将确保用户正在上传图片而不是其他内容。

最后根据您的需要和成功上传后的脚本

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

然后你可以这样做来显示图像:

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

答案 5 :(得分:0)

  header('Content-Type: image/jpeg');
  print $response;