X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Как выглядит код, который присвает не найденой картинке- другую картинку(путь другой)
tasheal
tasheal
Topic Starter сообщение 4.2.2009, 18:05; Ответить: tasheal
Сообщение #1


Сразу извините, если не в тот раздел поместил ...

Добрый день!
у меня более 1000 папок, в каждой есть от 12 до 21 картинок с именамa:
1.jpg, 2.jpg, 3.jpg, 4.jpg, 5.jpg, 6.jpg, 7.jpg до 12 а имогда и до 15 иногда до 21.jpg

Но также есть страница, которая лежит в каждой папке и отображает на экране перечисленные картинки:

<head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <title>Pictures</title> </head><body> <img src="1.jpg"/> <br> <img src="2.jpg"/> <br> <img src="3.jpg"/> <br> <img src="4.jpg"/> <br> <img src="5.jpg"/> <br> <img src="6.jpg"/> <br> <img src="7.jpg"/> <br> <img src="8.jpg"/> <br> <img src="9.jpg"/> <br> <img src="10.jpg"/> <br> <img src="11.jpg"/> <br> <img src="12.jpg"/> <br> <img src="13.jpg"/> <br> <img src="14.jpg"/> <br> <img src="15.jpg"/> <br> <img src="16.jpg"/> <br> <img src="18.jpg"/> <br> <img src="19.jpg"/> <br> <img src="20.jpg"/> <br> <img src="21.jpg"/> <br> </body></html>
Допустим сейчас запускаем эту страницу и берем картинки из папки, где не 21 картинка, а 17
то видим в браузере квадратики с красным крестиком(NO image).

как сделать так, чтоб вместо этих квадратиков No image мы видели допустим картинку, кот-я имеет имя Pustaya.jpg и лежит в корней, а не в каждой из 1000 папок? и не важно сколько квадратиков, сколько квадратиков, столько и картинок Pustaya.jpg

Огромное Спасибо!
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
MetSerp
MetSerp
сообщение 4.2.2009, 20:09; Ответить: MetSerp
Сообщение #2


[php]<?php
$dir = ".";
$dh = opendir($dir);
while (false !== ($filename = readdir($dh)))
{
if (is_file ($filename))
{
echo "<img src=\"".$dir."/".$filename."\"/><br>";
}
}
?>[/php]Если я правильно понял вам нужно нечто такое.
Что оно делает: Сканирует директорию (в которой она лежит) выбирает из нее файлы (тут открывается 1 минус файлы выбираются все и картинки и не картинки, но над этим я как домой доеду разобраться постараюсь)
Выводит изображения которые находит.
Есть небольшой вариант неплохого апгрейда данного скрипта.
Берем и
[php] $dir = ".";[/php]И меняем на
[php] $dir = "/galery/".(string)$_GET['dir']."/";[/php]ит еперь нам ненадо совать эту страницу в каждую папку нам достаточно при создание ссылки на определенную галерею в конце дописать путь к папке например
<a href="galery.php?dir= 2 ">Галерея номер 2</a>
ипр и переходе по данной ссылке загрузится страница с картинками из папки по адресу /galery/2/
:)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
panika
panika
сообщение 5.2.2009, 20:05; Ответить: panika
Сообщение #3


(tasheal @ 4.2.2009, 20:05) *
Сразу извините, если не в тот раздел поместил ...
Допустим сейчас запускаем эту страницу и берем картинки из папки, где не 21 картинка, а 17
то видим в браузере квадратики с красным крестиком(NO image).


Все очень понятно. Скажи подробнее, у тебя точно все картинки имеют имена от 1 до любого числа, то код будет очень прост.
[PHP]
<?php
$dir = "images/katalog_1/"; //дирректория папки откуда будем рассматривать каринки
$nimg = "число";//присваиваем переменной количество картинок в папке
for($i=1;$i<=$nimg;$i++){
if(file_exists($dir.$i.".jpg")){ //Узнаем существование файла и выдаем индикатор
print "<img src=\"http://domain.com/images/on.gif\">";//Индикатор в виде картинки о существовании
}else{
print "<img src=\"http://domain.com/images/off.gif\">";//Индикатор в виде картикни о отсутствии
}
print "$i.jpg<br>\n";
}
?>
[/PHP]
Впринципе код не проверял, но принцип работы должен быть понятным.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
tasheal
tasheal
Topic Starter сообщение 9.2.2009, 3:07; Ответить: tasheal
Сообщение #4


Спасибо за ответ!
у меня в той папке, где картинки
1.jpg.... 9.jpg, 10.jpg....17.jpg
лежит страница image.html
Ваш PHP код вставить в неё же?
просто когда вставляю, то не работает

и сейчас я на сайт выложил папку 0001, где лежат
три файла 1.jpg 2.jpg 3.jpg
и скинул в этут папку и в корневую файл image.html c этим кодом:
<?php $dir = "http://www.thanx.me/0001/";
$nimg = "20";
for($i=1;$i<=$nimg;$i++){
if(file_exists($dir.$i.".jpg")){
print "<img src=\"http://www.thanx.me/foto/on.gif\">";
}else{
print "<img src=\"http://www.thanx.me/foto/off.gif\">";
}
print "$i.jpg<br>\n";
}
?>
<head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <title>Pictures</title>
</head>


<body>

<img src="1.jpg"/> <br>
<img src="2.jpg"/> <br>
<img src="3.jpg"/> <br>
<img src="4.jpg"/> <br>
<img src="5.jpg"/> <br>
<img src="6.jpg"/> <br>
<img src="7.jpg"/> <br>
<img src="8.jpg"/> <br>
<img src="9.jpg"/> <br>
<img src="10.jpg"/> <br>
<img src="11.jpg"/> <br>
<img src="12.jpg"/> <br>
<img src="13.jpg"/> <br>
<img src="14.jpg"/> <br>
<img src="15.jpg"/> <br>
<img src="16.jpg"/> <br>
<img src="18.jpg"/> <br>
<img src="19.jpg"/> <br>
<img src="20.jpg"/> <br>
<img src="21.jpg"/> <br>
</body></html>


что не правильно?

Спасибо!
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
MetSerp
MetSerp
сообщение 9.2.2009, 12:15; Ответить: MetSerp
Сообщение #5


В страничке html, php код работать не будет ;)
просто смените расширение вашей страницы на php
[php]<?php
$dir ="/galery/".htmlspecialchars($_GET['dir'])."/";
$dh = opendir($dir);
while (false !== ($filename = readdir($dh)))
{
if (is_file ($filename) && substr_count ($filename,".jpg") !=0)
{
echo "<img src=\"".$dir."/".$filename."\"/><br>";
}
}
?>[/php]На мой взгляд универсальнее.
Он не выводит тех картинок которые не существует потому их ненужно подменять и он выводит только картинки с раширением jpg (если надо можно добавить другие расширения)
страницу с данным кодом не нужно копипастить во все папки с галереями и переписывать под каждую папку.
достаточно в ссылке на галерею прописать номер папки галереи
<a href="galery.php?dir= 0001 ">Галерея номер 1</a>

:rolleyes:
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Arks
Arks
сообщение 9.1.2013, 22:09; Ответить: Arks
Сообщение #6


(MetSerp @ 4.2.2009, 22:09) *
while (false !== ($filename = readdir($dh)))
{
if (is_file ($filename) && substr_count ($filename,".jpg") !=0)
{

Фуфуфу.. SPL DirectoryIterator уже давно изобрели так же как и SPL FileInfo

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Арбитражники, как ведете учет расходов и доходов?
11 Boymaster 1778 17.4.2024, 23:35
автор: Boymaster
Горячая тема (нет новых ответов) Как вывести деньги в Украине с заблокированного Юмани ?
29 freeax 4800 17.4.2024, 1:19
автор: sergio11
Горячая тема (нет новых ответов) Как вы отдыхаете от работы за компом
148 adw-kupon.ru 19701 8.4.2024, 10:37
автор: Skyworker
Открытая тема (нет новых ответов) Как вы бросили работу и перешли на заработок с сайтов?
18 uahomka 3093 5.4.2024, 5:53
автор: Skyworker
Горячая тема (нет новых ответов) Как бездомные хранят деньги?
81 metvekot 13649 31.3.2024, 12:44
автор: Boymaster


 



RSS Текстовая версия Сейчас: 19.4.2024, 1:26
Дизайн