Я только начал использовать PHP на прошлой неделе. Я пытался выяснить, как указать папку с изображениями и вернуть миниатюры со ссылками на более крупные изображения. Проведя небольшое исследование, я нашел сценарий, который позволит мне делать почти то, что мне нужно.
Вот код, который у меня есть:
$files = glob("Bookcase/*.*");
for ($i=1; $i<count($files); $i++)
{
$num = $files[$i];
echo '<a href = "' . $num . ' " target = "_blank"><img class = "thumb" img src = "'.$num.'"></a>'." ";
}
Единственное, что этот скрипт не делает для меня, это сортирует изображения по алфавиту. Я недостаточно хорошо разбираюсь в PHP, чтобы что-то делать. Как я могу это сделать? Любая помощь будет оценена по достоинству.
В папке, на которую я указываю, есть изображения, начинающиеся (пока) с букв a, c, e, m, w. Этот скрипт продолжает возвращать их в порядке c, w, m, a, e. Я хотел бы, чтобы он возвращал изображения в a, b, c и т.д.
Пробовали ли вы сортировать их после того, как вы их принесли?
Думал, что вам нужно поставить флаг GLOB_NOSORT, чтобы он не сортировался. Что такое var_dump($files);?
Я понял. Некоторые изображения начинаются со строчной буквы, а некоторые с прописной. Я изменил все на нижний регистр и угадайте, что ...... как я уже сказал, я действительно новичок во всем этом.
А, значит, он сортируется по значениям ASCII (?), а не по буквам. Интересно.






$files = glob("images/*.*");
sort($files);
$lenth = count($files);
for ($i=0; $i<$lenth; $i++){
//your code
}
Используйте этот код для сортировки изображений по алфавиту.
$files = glob("Bookcase/*.*");
$myarr = array();
foreach($files as $file){
$myarr[$file];
}
sort($file);
$clength = count($file);
for($i = 0; $i < $clength; $i++) {
$num = $file[$i];
echo '<a href = "' . $num . ' " target = "_blank"><img class = "thumb" img src = "'.$num.'"></a>'." ";
}
Я немного смущен, так как glob должен возвращать отсортированные пути. Не могли бы вы показать нам заказ, который вы получаете, и заказ, который вы ожидаете?