繁体   English   中英

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

[英]How can I load an image from a local directory in PHP?

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

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

index.php位于mydomain.com中 ,该文件包含/ home / ftpUsername / assets中的script.php ,没有问题。

使用include()函数将script.php包含在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”从路径直接加载它,无论是否带有反斜杠都无济于事。

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

您可以使用readfile甚至是file_get_contents来读取文件流,如下所示:(我假设您将通过$ /script.php?image=imagename.png '传递图像名称/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将像图像一样工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM