【问题标题】:Fopen function opens JPEG image as textfopen 函数将 JPEG 图像作为文本打开
【发布时间】:2014-08-28 20:01:57
【问题描述】:

这是我第一次用 PHP 编写代码。我正在尝试编写一个打开给定文件的简单函数。它适用于 .txt 文件,但是当我尝试打开 .jpg 图像时,它会以一长串字符的形式打开它。 这是PHP代码:

<?php
$new = fopen("note.txt", "r");
echo fread($new, filesize("note.txt"));
fclose($new);
?>

这是运行并显示 .txt 文件的代码。但是,当我尝试打开图像时 -

<?php
$new = fopen("Salamander.jpg", "r");
echo fread($new, filesize("Salamander.jpg"));
header("Content-Type: image/jpeg");
fclose($new);
?>

-我得到一长串问号、数字、字母和其他字符(靠近开头的是照片的 EXIF 数据)。我想我必须以不同于我所做的方式的其他方式指定文件的内容,但我不知道如何。有什么帮助吗?

附:我的服务器在我正在使用的计算机上。

【问题讨论】:

  • 您在读取图像文件时期望得到什么?是的,它是一些数据,可以用任何纯文本编辑器打开。并且标题必须在脚本的任何输出之前设置
  • 你想通过打开文件达到什么目的?
  • 我想在浏览器中查看图像本身,而不是文本格式的数据。

标签: php


【解决方案1】:

尝试在回显之前定义 header()。当你从服务器端打开文件时,总是以文本格式打开它。

【讨论】:

  • 我做到了,现在它显示了一个损坏图像的图标,当图像无法加载时显示的那个。
猜你喜欢
  • 2021-08-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多