我正在使用PHP和Apache,我已经配置了一个路由器,它可以向我显示公共网站和根上的图像,没有问题,但当试图显示私人网站的图像时,不会加载它们。
我需要保存在私人网站上的图像,并只显示给业主,我不认为保存在公共网站上的图像是理想的。
路由器已配置为所有路由的公共开始都以“/”而不是“../"开头。
我如何在本地解决这个问题,并使它在真实的服务器上正确工作?.
//项目结构:
app/
-------/public <======Root
---------------/css
---------------/img
---------------/js
---------------/index.php
---------------/.htaccess
-------/private
---------------/imgs
---------------/pages
---------------/dashboard.php
-------/lib
-----------/route.php`
//.htaccess config
AddType Content-Type: application / x-www-form-urlencoded
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php? [QSA,L]
联系我们
<span> <img src="img/test2.jpg" width="30px"> </span>
<span> <img src="../private/imgs/test1.jpg" width="30px"> </span>
//php try
<?php
$directorio = "../private/imgs/";
function printImagesDir($dir){
$files = glob($dir.'*.{jpg,JPG,jpeg,JPEG,png,PNG}', GLOB_BRACE);
foreach($files as $filename){
$imgsrc = basename($filename);
echo "<img src='{$dir}/{$imgsrc}' />";
}
}
printImagesDir($directorio);
?>
1条答案
按热度按时间yiytaume1#
将所有图像路由到一个脚本文件中,该脚本文件将获取图像(甚至验证当前登录的用户是否可以访问该文件)。
最后,在HTML中,只需请求该URL: