У нас есть программа, которая экспортирует изображение как .bmp и создает связанный .txt-файл. Каждый файл генерируется постепенно, так что первый набор файлов называется 0.bmp и 0.txt, второй 1.bmp и 1.txt и т.д. У меня есть следующиеИспользование basename()
<?php
$dir = "Photos/Marshfield/*";
foreach(glob($dir) as $sub)
{
$path = $sub."/*";
foreach(glob($path) as $file)
{
echo "<img src=".$file.">";
}
}
?>
Для дальнейшего добавить к стрельбе неприятности когда вы echo $ base вы получаете следующее: 0.bmp0.txt1.bmp1.txt2.bmp2.txt3.bmp3.txt4.bmp4.txt5.bmp5.txt6
, он видит файл как эти две части. Я буду честен, мне потребовалось большую часть сегодняшнего дня, чтобы изучить php до такой степени, что я смог собрать все вместе. Не зная язык очень хорошо, может ли кто-нибудь дать некоторые рекомендации о том, как я могу гарантировать правильность соответствующей ассоциации изображений и текстов в каждом каталоге? Я думаю, что если бы я мог разбить две части, я мог бы работать дальше, но я не уверен в лучшем подходе.
В каталоге, указанном «Фотографии/Маршфилд», есть серия каталогов (например, D1, D2, D3 и т. Д.), В каждом из этих каталогов есть список файлов, каждый из которых имеет 0.bmp/0.txt , 1.bmp/1.txt и т. Д. Комбо. То, что я хотел бы сделать, - это цикл через все каталоги и внутри каждого подкаталога (D1, D2 и т. Д.), Которые совпадают и отображают файл изображения и соответствующий текстовый файл. Первоначально я надеялся, что, присоединившись к $ dic и $ base, я могу назвать источник изображения, так как они численно увеличиваются. $ dic создаст «Photos/Marshfield/D1» и используя базовое имя моего .bmp-файла, я должен получить номер, который при добавлении обратно в .bmp завершает путь к файлу. То, что я ожидал от basename(), состоял в том, чтобы вернуть строку значение файла (в этом случае 0, 1, 2 и т. д.) вместо этого возвращает 0.bmp0.txt в качестве файла, я надеюсь, что это поможет уточнить. Я не стал создавать содержимое для чтения текстового файла, хотя я имеют ту часть вниз.
Я обновил свой код, чтобы перебрать все каталоги и подкаталоги помечены как * в путь $ реж. Та часть завершена теперь только связывая содержание соответствующего текстового файла в.
Так в чем же проблема? Что вы ожидаете от этого '$ {$ dic. $ Base}'? –
Вы должны использовать 'glob (" */*. Bmp ")', чтобы получить только один вид файлов. Также 'intval()' будет достаточно здесь на месте 'basename()'. То, что вы, вероятно, предназначалось для вывода, - 'echo '"; '. – mario
Я думаю, что он соединяет две переменные, чтобы создать новое имя. – CharlieM