Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 27.11.2015
Сообщений: 109

Как сделать ссылку на изображение

04.04.2016, 15:27. Показов 2256. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет.
Есть две папки "uploadbig" и "uploadsmail" с под папками, в под папках папки "uploadbig" хранятся большие изображения, в под папках папки "uploadsmail" маленькие. Далее скрипт вывода миниатюрных изображений на экран
PHP
1
2
3
4
5
6
$all_files=array('');
    GetListFiles("uploadsmail",$all_files);
    $img = preg_grep("~\.(img|jpe?g|png|gif)~",$all_files);//preg_grep — Возвращает массив вхождений, которые соответствуют шаблону
    foreach ($img as $v){
            echo "<a href='#'><img src='$v'/><a/>";
    }
Как видите каждая миниатюра - это ссылка, при нажатии на миниатюру должна открываться соответствующая фотография из папки для больших изображений.
Помогите реализовать.
Имена у изображений одинаковые, что в под папках "uploadsmail", что в "uploadbig"
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.04.2016, 15:27
Ответы с готовыми решениями:

как сделать ссылку-изображение на php
Как сделать изображение-ссылку на php. Так не работает: echo &quot;&lt;a href='index.php?id=main'&gt;&lt;img...

Как вставить ссылку на изображение?
Как вставить ссылку на изображение? ... $base_id = $_GET; $id_a = mysql_query(&quot;SELECT * FROM pages WHERE id=$base_id &quot;); ...

Как сделать так чтобы при наведении мышки на ссылку div менялось изображение при использовании z-index
Здравствуйте, уважаемые участники форума! Подскажите мне, пожалуйста, как сделать так чтобы кнопка &quot;Заказать обратный звонок&quot;...

24
 Аватар для romchiksoad
1957 / 796 / 89
Регистрация: 03.11.2009
Сообщений: 3,066
Записей в блоге: 2
04.04.2016, 15:30
Цитата Сообщение от alex380 Посмотреть сообщение
GetListFiles("uploadsmail",$all_files);
Что делает эта функция? Она ничего не возвращает?
0
0 / 0 / 0
Регистрация: 27.11.2015
Сообщений: 109
04.04.2016, 15:32  [ТС]
Цитата Сообщение от romchiksoad Посмотреть сообщение
Что делает эта функция? Она ничего не возвращает?
PHP
1
2
3
4
5
6
7
8
9
10
11
function GetListFiles($folder,&$all_files){
    $fp=opendir($folder);
    while($cv_file=readdir($fp)) {
        if(is_file($folder."/".$cv_file)) {
            $all_files[]=$folder."/".$cv_file;
        }elseif($cv_file!="." && $cv_file!=".." && is_dir($folder."/".$cv_file)){
            GetListFiles($folder."/".$cv_file,$all_files);
        }
    }
    closedir($fp);
}
0
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
04.04.2016, 15:34
Напишите вместо # адрес большого изображения и подключите нормально скрипт-просмотрщик, например:
HTML5
1
<a href="/images/news/160404/01.jpg" class="fancybox" rel="gallery" target=_blank><img src="/images/news/160404/01sm.jpg"></a>
0
0 / 0 / 0
Регистрация: 27.11.2015
Сообщений: 109
04.04.2016, 16:06  [ТС]
Цитата Сообщение от miketomlin Посмотреть сообщение
Напишите вместо # адрес большого изображения и подключите нормально скрипт-просмотрщик, например:
А если у меня 50 фото, что все так прописывать?
HTML5
1
<a href="/images/news/160404/01.jpg" class="fancybox" rel="gallery" target=_blank><img src="/images/news/160404/01sm.jpg"></a>
0
Фрилансер
Эксперт PythonЭксперт JSЭксперт PHP
 Аватар для Azdeman
1871 / 1362 / 604
Регистрация: 12.01.2011
Сообщений: 5,470
04.04.2016, 16:16
Цитата Сообщение от romchiksoad Посмотреть сообщение
Что делает эта функция? Она ничего не возвращает?
Почему не возвращает ? смотрите на ссылку 2 аргументом.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function GetListFiles($folder,&$all_files){
    $fp=opendir($folder);
    while($cv_file=readdir($fp)) {
        if(is_file($folder."/".$cv_file)) {
            $all_files[]=$folder."/".$cv_file;
        }elseif($cv_file!="." && $cv_file!=".." && is_dir($folder."/".$cv_file)){
            GetListFiles($folder."/".$cv_file,$all_files);
        }
    }
    closedir($fp);
}
$all_files = [];
GetListFiles(".",$all_files);
$img = preg_grep("~\.(img|png|gif|jpe?g)~",$all_files);
    foreach($img as $v){
        echo "<img src=$v><br/>";
    }

Не по теме:

хм. Вспомнил. Тот код что выше мой.:)

0
 Аватар для romchiksoad
1957 / 796 / 89
Регистрация: 03.11.2009
Сообщений: 3,066
Записей в блоге: 2
04.04.2016, 16:18
Azdeman, обрати внимание на порядок сообщений в теме
0
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
04.04.2016, 16:20
Цитата Сообщение от alex380 Посмотреть сообщение
А если у меня 50 фото, что все так прописывать?
Это пример был.
0
0 / 0 / 0
Регистрация: 27.11.2015
Сообщений: 109
04.04.2016, 16:31  [ТС]
Цитата Сообщение от Azdeman Посмотреть сообщение
Почему не возвращает ? смотрите на ссылку 2 аргументом.
Можно сделать, что нибудь подобное, только, что бы при клике выводилась не последнее фото, а соответствующие имени миниатюры. Как я уже писал имена больших и маленьких фото одинаковые.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
$all_filese=array('');
    GetListFiles("uploadbig",$all_filese);
    $imgs = preg_grep("~\.(img|jpe?g|png|gif)~",$all_filese);//preg_grep — Возвращает массив вхождений, которые соответствуют шаблону
    foreach ($imgs as $s){
    } 
    $v =& $s;
    $all_files=array('');
    GetListFiles("uploadsmail",$all_files);
    $img = preg_grep("~\.(img|jpe?g|png|gif)~",$all_files);//preg_grep — Возвращает массив вхождений, которые соответствуют шаблону
    foreach ($img as $v){
            echo "<a href='$s'><img src='$v'/><a/>";
    }
0
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
04.04.2016, 16:39
Вы можете один раз «выгребать» список, а потом просто каталог менять:
PHP
1
<a href="/images/big/<?= $f ?>"><img src="/images/small/<?= $f ?>"></a>
Добавлено через 1 минуту
Если уверены, что есть полное соответствие миниатюр и больших изображений.
0
0 / 0 / 0
Регистрация: 27.11.2015
Сообщений: 109
04.04.2016, 16:46  [ТС]
Цитата Сообщение от miketomlin Посмотреть сообщение
Вы можете один раз «выгребать» список, а потом просто каталог менять:
Если бы у меня было два каталога в одной папке, а меня в папке uploadbig может быть сто папок и в uploadsmail столько же.
0
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
04.04.2016, 17:02
И что нет соответствия между содержимым uploadbig и uploadsmail? Например:
uploadbig/bla-bla/1.jpg
uploadsmail/bla-bla/1.jpg
uploadbig/bla-bla-bla/1.jpg
uploadsmail/bla-bla-bla/1.jpg
0
0 / 0 / 0
Регистрация: 27.11.2015
Сообщений: 109
04.04.2016, 17:39  [ТС]
Цитата Сообщение от miketomlin Посмотреть сообщение
И что нет соответствия между содержимым uploadbig и uploadsmail?
Есть, сейчас пробую ваш вариант

Добавлено через 12 минут
Цитата Сообщение от miketomlin Посмотреть сообщение
И что нет соответствия между содержимым uploadbig и uploadsmail? Например:
Что то не получается
PHP
1
2
3
4
5
6
$all_files=array('');
    GetListFiles('img',$all_files);
    $img = preg_grep("~\.(img|jpe?g|png|gif)~",$all_files);//preg_grep — Возвращает массив вхождений, которые соответствуют шаблону
    foreach ($img as $v){
       echo "<a href='img/uploadbig/<?= $v ?>'><img src='img/uploadsmail/<?= $v ?>'/><a/>";     
    }
Пути наверное криво прописал (Каталоги переделал, есть img, а в нём uploadbig и uploadsmail)

Добавлено через 19 минут
Цитата Сообщение от miketomlin Посмотреть сообщение
<a href="/images/big/<?= $f ?>"><img src="/images/small/<?= $f ?>"></a>
Уже всяко пробовал не получается, что не так
PHP
1
2
3
4
5
6
$all_files=array('');
    GetListFiles('img',$all_files);
    $img = preg_grep("~\.(img|jpe?g|png|gif)~",$all_files);//preg_grep — Возвращает массив вхождений, которые соответствуют шаблону
    foreach ($img as $v){    
          
    }
HTML5
1
<a href="img/uploadbig/<?= $v ?>"><img src="img/uploadsmail/<?= $v ?>"></a>
0
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
04.04.2016, 17:45
Может, GetListFiles('img/uploadsmail',$all_files);

Добавлено через 30 секунд
И результирующий массив покажите.
0
0 / 0 / 0
Регистрация: 27.11.2015
Сообщений: 109
04.04.2016, 17:56  [ТС]
Цитата Сообщение от miketomlin Посмотреть сообщение
И результирующий массив покажите.
Что в переменной $v?

Добавлено через 5 минут
Цитата Сообщение от miketomlin Посмотреть сообщение
Может, GetListFiles('img/uploadsmail',$all_files);
Не чего не меняет
0
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
04.04.2016, 18:00
А чЁ у вас в $v массив? Массив $all_files, полученный по итогам работы функции. Потом можно и $img показать.
0
0 / 0 / 0
Регистрация: 27.11.2015
Сообщений: 109
04.04.2016, 18:01  [ТС]
Цитата Сообщение от miketomlin Посмотреть сообщение
И результирующий массив покажите.
PHP
1
var_dump($all_files);
array(3) { [0]=> string(0) "" [1]=> string(50) "img/uploadbig/156005c5baf40ff51a327f1c34f2975b.jpg" [2]=> string(52) "img/uploadsmail/156005c5baf40ff51a327f1c34f2975b.jpg" } array(3) { [0]=> string(0) "" [1]=> string(50) "img/uploadbig/156005c5baf40ff51a327f1c34f2975b.jpg" [2]=> string(52) "img/uploadsmail/156005c5baf40ff51a327f1c34f2975b.jpg" }

PHP
1
var_dump($v);
string(50) "img/uploadbig/156005c5baf40ff51a327f1c34f2975b.jpg" string(52) "img/uploadsmail/156005c5baf40ff51a327f1c34f2975b.jpg"

PHP
1
var_dump($img);
array(2) { [1]=> string(50) "img/uploadbig/156005c5baf40ff51a327f1c34f2975b.jpg" [2]=> string(52) "img/uploadsmail/156005c5baf40ff51a327f1c34f2975b.jpg" } array(2) { [1]=> string(50) "img/uploadbig/156005c5baf40ff51a327f1c34f2975b.jpg" [2]=> string(52) "img/uploadsmail/156005c5baf40ff51a327f1c34f2975b.jpg" }
0
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
04.04.2016, 18:03
Цитата Сообщение от alex380 Посмотреть сообщение
array(3) { [0]=> string(0) "" [1]=> string(50) "img/uploadbig/156005c5baf40ff51a327f1c34f2975b.jpg" [2]=> string(52) "img/uploadsmail/156005c5baf40ff51a327f1c34f2975b.jpg" } array(3) { [0]=> string(0) "" [1]=> string(50) "img/uploadbig/156005c5baf40ff51a327f1c34f2975b.jpg" [2]=> string(52) "img/uploadsmail/156005c5baf40ff51a327f1c34f2975b.jpg" }
Все понятно. Функция оставляет переданный ей префикс. А нужно-то имена без него получать.
0
0 / 0 / 0
Регистрация: 27.11.2015
Сообщений: 109
04.04.2016, 18:05  [ТС]
Цитата Сообщение от miketomlin Посмотреть сообщение
А чЁ у вас в $v массив? Массив $all_files, полученный по итогам работы функции. Потом можно и $img показать.
Я первый месяц в php, могу тупить
0
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
04.04.2016, 18:06
Или можете получать в таком виде, а для парной ссылки делать замену uploadsmail -> uploadbig
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.04.2016, 18:06
Помогаю со студенческими работами здесь

Как в adobe flash сделать ссылку на другой .swf файл? Не интернет ссылку,а простую ссылку на другой файл!
Помогите!!! Как в adobe flash сделать ссылку на другой .swf файл? Не интернет ссылку,а простую ссылку на другой файл!

Как передать в БД ссылку на изображение?
Хочу прикрепить загрузку изображения к товару, так вот в указанную папку изображение падает а insert в БД не происходит что может быть не...

Как получить ПРЯМУЮ ссылку на изображение?
Задумал написать фотохостинг. Что-то супер крутое не надо, самые алиментарные функции. Чисто для себя. Будет дома стоять отдельный сервер...

Подскажите, как сделать в html, чтобы изображение накладывалось на другое изображение?
Нужно, чтобы изображение накладывалось на другое изображение, а другое изображение растягивалось по заданной мною ширине. Спасибо, я...

Как передать ссылку на изображение в другое Activity
Привет, пытаюсь сделать что то типа ежедневника. столкнулся с проблемой. В общем. Имеется 1 Активити, на нем ImageView (смайлик), по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru