使用php加载图像而不是直接访问

时间:2012-12-23 04:32:19

标签: php image

我想使用PHP在我的网页中显示图像,而不是像'images / pic.jpg'那样直接显示src。

但我对此一无所知。

你会帮我吗?

我需要php脚本。请停止投票。

编辑:

以下是我的尝试:

header('Content-Type: image/jpg');
readfile($imgsrc);

由于这个问题被某些人关闭,我不得不说我接受并尝试的答案是对的,问题是open_basedir和文件许可。

问题现在解决了。

但它输出错误'图像无法显示,因为它包含错误'

2 个答案:

答案 0 :(得分:1)

您需要使用readfile:

    function user_files($file_name = "")
    {
        // Check file_name is valid and only contains valid chars
        if ((preg_match('^[A-Za-z0-9]{1,32}+[.]{1}[A-Za-z]{3,4}$^', $file_name)) 
        {
               header('Content-Type: '.get_mime_by_extension(YOUR_PATH.$file_name)));
               readfile(YOUR_PATH.$file_name);
        }
    }

目录遍历等存在一些问题 - 因此您需要首先检查$ file_name,就像我使用preg_match一样

答案 1 :(得分:0)

将您的图像放到HTTP协议无法访问的本地目录(服务器上)。

然后创建一个简单的PHP脚本,它将文件名作为参数(或其他任何标识要加载的图像)并返回图像而不是自身。我的意思是http://www.server.com/imagescript.php?filename.jpg

这非常简单,你应该能够自己做。或者指定更多细节,究竟是什么问题。