gpt4 book ai didi

php - DirectoryIterator() 以某种方式复制路径

转载 作者:行者123 更新时间:2023-12-01 04:55:14 24 4
gpt4 key购买 nike

我正在尝试遍历一个目录并显示其中的所有图片。我让它工作,直到我将 Jquery/ajax 添加到等式中。不知何故,路径一路重复,所以我收到此错误(您可以看到它重复的位置):

Fatal error: Uncaught exception 'UnexpectedValueException' with message 'DirectoryIterator::__construct(images/gallery/album1,images/gallery/album1) [<a href='directoryiterator.--construct'>directoryiterator.--construct</a>]: The system cannot find the path specified

我一生都无法弄清楚为什么会这样...... contruct(images/gallery/album1,images/gallery/album1)应该是construct(images/gallery/album1)

PHP:

$album = $_POST['album'];
$dir = new DirectoryIterator("images/gallery/$album");
foreach ($dir as $fileInfo)
{
if($fileInfo->isDot()) continue;
$pic = $fileInfo->getFilename();
print "<div>
<img src='images/gallery/$album/$pic'>
</div>";
}

Jquery/ajax:

function albumChosen(id)
{
var id = id;
var album = $('a[id="'+id+'"]').attr("rel");
$.ajax({
url: "PHPscripts/getAlbums.php",
type: "POST",
data: {'album' : album},
success: function(data){
$('#galleryList').html(data);
}
});
return false;

}

如果我alert(album);它正确显示“album1”。所以这与它如何从 $_POST 读取它有关。

编辑:我添加了建议的代码..

$album = $_POST['album'];
print_r($_POST);
var_dump($album);
$dir = new DirectoryIterator("images/gallery/$album");
//rest of code...

print_r($_POST)打印出Array ( [album] => album1 )
var_dump($album)打印出string 'album1' (length=6)

最佳答案

结果我只需要添加 ../ 到我的路径前面..如果它没有像它那样复制路径,我可能会更快地弄清楚这一点,但是因为对此,我不认为这条路有什么问题。所以这里是完整的代码,我再次添加的是路径前面的 ../

$album = $_POST['album'];
$dir = new DirectoryIterator("../images/gallery/$album");
foreach ($dir as $fileInfo)
{
if($fileInfo->isDot()) continue;
$pic = $fileInfo->getFilename();

print "<div>
<img src='images/gallery/$album/$pic'>
</div>";
}

关于php - DirectoryIterator() 以某种方式复制路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14795501/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com