我的htdocs中有一个像这样设置的文件夹目录:
claas2 / TractorPics \ 5484474 \ Received \ =>
中的一堆图像我使用php从存储文件路径的MySQL数据库中放入图片而不是所有图片,以便可以轻松更改。
php:
if ( $_REQUEST['rec_pic'] ) {
$order_id = $_POST['rec_pic'];
$sql = "SELECT * FROM `orders` WHERE `active` = '1' AND `order_id` = '$order_id'";
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result)) {
$dir = $row['rec_pic'];
if ($handle = opendir($dir)) {
while (false !== ($file = readdir($handle))) {
echo "<div>";
echo "<a href='#'><img src='".$file."' /></a>";
echo "</div>";
}
closedir($handle);
}
}
}
当我回应这个时,我得到一个错误,说该文件目录不存在,但如果我要在图像中执行src它工作得很好。我在这做错了什么?
获取请求的php文件位于目录
中claas2 \分贝\ AJAX
答案 0 :(得分:0)
你有一条相当混乱的道路:
claas2/TractorPics\5484474\Recieved\
尝试:
claas2\TractorPics\5484474\Recieved\
或
claas2/TractorPics/5484474/Recieved/
但不要混用分隔符。
修改强>
您正在将路径与网址混合。并且它的工作原理是因为您使用\
作为路径段分隔符,在向网络服务器发送请求时您的浏览器将其转换为/
,而您的服务器现在基于Windows,因此\
无效作为服务器上文件系统的路径分隔符。做
$path = str_replace('\\', `/`, $pathFromDb);
并使用结果而不是现在使用的数据来自db。