Есть папка с картинками. Картинки называются по порядку 000.gif 001.gif ... 100.gif Сначала скрипт сканирует директорию и выводит все что находит с сылкой в которой передает путь к картинке. И если гетом получаем этот путь то выводим эту картинку с стрелками на "предыдущую" и "следующую"...и вот тут вот у меня не хватает логики, знаний...как можно это сделать. Данный скрипт на 010.gif не выводит ссылку на следующую на 010.gif вобще не выводит ничего на 002.gif выдает кучу ссылок пустых на 036.gif выдает две ссылки на "следующую" и выводит следующую два раза =( PHP: <?php if ($_GET[z]) { $full = $_GET[z]; $dirct="aerografiy"; echo ('<br /><a href="./gallery_a.php" style="color:#FFFFFF; padding:5px;">В начало</a>'); $hdl=opendir($dirct); while ($file = readdir($hdl)) { if (($file!="..")&&($file!=".")) { $a[$si]=$file; // присваиваем текущему элементу массива с именами файлов имя текущего файла } } closedir($hdl); $file = basename($full); $info = explode (".", $file); $alt = $info[0]; $d = "./aero.txt"; $news = file($d); echo '<table><tr>'; foreach ($news as $num => $text ) { for($i=0;$i<sizeof($num);$i++) { $txt = explode("|", $text); if($txt[$i]==$alt-001) { echo '<td><li><a href="./gallery_a.php?z=aerografiy/'.$txt[$i].'.gif" style="color:#FFFFFF; padding:5px;">Предыдущая фотка</a></li></td>'; } if($txt[$i]==$alt+001) { echo '<td><li><a href="./gallery_a.php?z=aerografiy/'.$txt[$i].'.gif" style="color:#FFFFFF; padding:5px;">Следующая фотка</a></li></td>'; }} if ($txt[0] == $alt) { echo ('<td><img src="'.$full.'" alt="'.$txt[1].'" title="'.$txt[1].'" style="margin: auto;"><br />'.$txt[1].'</td>'); }} echo '</tr></table>'; closedir($hdl); } else { $dirct="aerografiy"; $hdl=opendir($dirct); while ($file = readdir($hdl)) { if (($file!="..")&&($file!=".")) { $a[]=$file;} } closedir($hdl); if (sizeof($a)>0) { sort($a); foreach ($a as $file) { $full=$dirct."/".$file; $info = explode (".", $file); if (($info[1] == "jpg") | ($info[1] == "JPG") | ($info[1] == "png") | ($info[1] == "gif")) { echo ('<li><a href="./gallery_a.php?z='.$full.'"><img src="'.$full.'" height="100px" alt="Аэрография, живопись - aerodark.ru" title="Аэрография, живопись - aerodark.ru"></a></li>'); //<font size=-1><centr>'.$info[0].'</center></font><br> } } } } ?> Содержание текстого файла ... 003|аэрография на телефоне айфон лицо с кровью 004|аэрография на телефоне айфон кошка 005|аэрография на телефоне айфон дракон 006|аэрография на телефоне айфон секси 007|аэрография на сноубордическом шлеме Портрет ... Помогите пожалуйста, а то я совсем запуталась Я так понимаю, т.е. подозреваю свойства сложения/вычитания работают не так как я предпологала! Или как можно по другому сделать ссылку на следующий/предыдущий эллемент??? Может как-нибудь переходить по строкам текстового файла?
Ну смотрите Я делал галлерею , брал все изображения из требуемых новостей , впихивал их в массив например $image Дальше когда запрашивали /index.php?photo=18 , то бралось изображение из ячейки массива с номером 18 , тоесть из $image[18] И разумеется ссылки на пред и след изображения делаются от числа 18.
Ок. На сколько я поняла...такой массив - это у меня $a я могу из него выводить img и все такое Я НЕ понимаю как сделать ссылку на предыдущий/следующий в данном случае элемент массива =(
Весь код - бред сивой кобылы. Переписывайте с нуля думая головой и проверяя каждую функцию по документации - что она возвращает.
Вроде это я пока ещё помню) Спасибо, что не ругались я понимаю что код ерунда, но я же и пишу в теме для новичков)
)) Да я вроде не прошу сделать за меня. Я прошу подсказать в каком направлении двигаться, а то долго так самой искать! Вот я сделала по совету переход по предыдущему/следующему по ключам массива... На локалке все идеально А на сервак кинула, там оказывается в массив пишется все хаотично.... мне надо чтобы все по порядку шло=( т.е. фото 000.gif имела в массиве ключ 0, ну и т.д. в массив так пихаю PHP: if (($file!="..")&&($file!=".")) { $a[]=$file;} вроде все стандартно =(
Отсортируйте этот массив. Файлы могут читаться по-разному в разном порядке в зависимости от файловой системы, на серваке наверняка линукс.
Точно!!!! Спасибо! только вот PHP: sort($a); Выдает сообщение об ошибке, я поставила собаку перед сортировкой...теперь работает так, как и хотела, но у меня подозрения, что это не правильно...