如何从PHP中的本地目录加载图像?

时间:2015-06-12 01:31:39

标签: php image directory load

我的设置(或路径)如下:

 |Home
    |ftpUsername
        |assets
           |images.png
           |script.php
        |mydomain.com
           |index.php

index.php 位于 mydomain.com ,其中包含/ home / ftpUsername / assets中的 script.php ,没有任何问题。

script.php 使用 include()函数包含在 index.php 中。 我的问题是,如何让PHP通过 script.php 加载 / home / ftpUsername / assets / 中的图像(png格式)?

换一种说法: 如何在 script.php 中加载 /home/ftpUsername/assets/myimage.png

注意:/home/ftpUsername/mydomain.com/是一个实时目录(在线连接到域),而home / ftpUsername / assets /不是(服务器上的本地目录)。

我尝试使用 img src =“/ home / ftpUsername / assets / myimage.png”直接从路径加载它无效,无论是否有反斜杠。

1 个答案:

答案 0 :(得分:1)

从script.php,您需要阅读,然后输出PNG图像(传递正确的mimetype,因此它将被识别为图像)。

您可以使用readfile甚至file_get_contents来读取文件流,如下所示:(我假设您将通过$ _GET'image'传递图像名称。/script.php?image=imagename.png并且使用no_image.png作为后备。

header("Content-Type:image/png"); //passing the mimetype

$image = '/home/ftpUsername/assets/' . $_GET['image']; 

if(is_file($image) ||  is_file($image = "/home/ftpUsername/assets/no_image.png"))
    readfile($image);

这样,您可以直接在img src中链接您的script.png,如下所示:

<img src="script.php?image=imagename.png" alt="" />

你的script.php就像一个图像。