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

Небольшой фотоальбом

18.02.2017, 21:56. Показов 1164. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребят, нужна помощь, задали мне сделать небольшой фотоальбом на ПХП с возможностью добавления и удаления фотографий, с первой частью с более-менее ещё справлися, но как удалять нужные фотографии вообще не догоняю.Думал попоробывать вот с помощью скрытых форм что-то попробывать, но ничего у меня не получилось, кто может подсказать?
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<?php
        # Фотоальбом с возможностью закачки.
        header('Content-Type: text/html; charset=utf-8');
        $imgDir = "img"; // каталог для хранения изображений
        if (isset($_REQUEST ['doUpload'])) {// Проверяем, нажата ли кнопка добавления фотографии, 
            if (!file_exists($imgDir))
                mkdir($imgDir, 0777); // создаем каталог, если его еще нет
 
            $data = $_FILES ['file'];
            $tmp = $data ['tmp_name'];
 
            if (file_exists($tmp)) {// Проверяем, принят ли файл,
                $info = getimagesize($_FILES ['file'] ['tmp_name']); // вернет размер изображения, тип файла, height, width, а также тип содержимого HTTP
                // Проверяем, является ли файл изображением,
                if (preg_match('{image/(.*)}is', $info['mime'], $p)) {
                    // Имя берем равным текущему времени в секундах, а
                    // расширение — как часть MIME-типа после "image/".
                    $name = "$imgDir/" . time() . "." . $p [1];
                    // Добавляем файл в каталог с фотографиями.
                    move_uploaded_file($tmp, $name);
                } else {
                    echo "<h2>Попытка добавить файл недопустимого формата!</h2>";
                }
            } else {
                echo "<h2>Ошибка закачки #{$data['error']}!</h2>";
            }
        }
        // Считываем в массив фотоальбом.
        $photos = array();
        foreach (glob("$imgDir/*") as $path) {
            $sz = getimagesize($path); // размер
            $tm = filemtime($path); // время добавления
            // Вставляем изображение в массив $photos.
            $photos [$tm] = array(
                'time' => $tm, // время добавления
                'name' => basename($path), // имя файла
                'url' => $path, // его URI
                'w' => $sz [0], // ширина картинки
                'h' => $sz [1], // ее высота
                'wh' => $sz [3]); // "width=xxx height=yyy"
        }
        // Ключи массива $photos — время в секундах, когда была добавлена
        // та или иная фотография. Сортируем массив: наиболее новые
        // фотографии располагаем ближе к его началу.
        krsort($photos);
        // Страница:
        ?>
    <body>
        <form action="<?php echo $_SERVER['SCRIPT_NAME'] ?>" method="POST" enctype="multipart/form-data">
            <input type="file" name="file"><br>
            <input type="submit" name="doUpload" value="закачать новую фотографию">
            <hr>
        </form> 
<?php foreach ($photos as $n => $img) { ?> 
            <p>
                <img src="<?php echo $img['url'] ?>" <?php echo $img['wh'] ?> alt="Дoбaвлeнa <?php echo date("d.m.Y H:i:s", $img['time']) ?>"/> 
<?php }  ?>
Вложения
Тип файла: zip Photoalbum.zip (1.58 Мб, 7 просмотров)
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.02.2017, 21:56
Ответы с готовыми решениями:

фотоальбом
решила сделать так в таблице image создала строку news_id (в нее будет вписываться ид новость) вопрос такой есть форма добавления...

Помогите сделать фотоальбом
Хочу на сайте сделать страничку где бы выводились фотки в таком виде: Выводятся миниатюры фоток при нажатии на любую появляется её оригинал...

Небольшой, но функциональный сайт
Здравствуйте товарищи. В этой теме я буду много, долго и нудно расспрашивать вас о построении, оптимизации и безопасности сайтов. Буду...

1
2 / 1 / 4
Регистрация: 18.02.2017
Сообщений: 4
18.02.2017, 22:35
Лучший ответ Сообщение было отмечено Zaxar291 как решение

Решение

Самый простой вариант это обернуть картинку в ссылку и передавать в GET путь картинки. Тогда получится при клике картинка удалится.

создаём файл delete.php и пишем туда
PHP
1
2
3
4
5
6
<?php
$url= $_GET['url'];
unlink($url);
header('Location: http://www.google.com/'); // на свой сайт направь
exit;
?>
меняем
PHP
1
<img src="<?php echo $img['url'] ?>" <?php echo $img['wh'] ?> alt="Дoбaвлeнa <?php echo date("d.m.Y H:i:s", $img['time']) ?>"/>
на
PHP
1
<a href="delete.php?url=<?php echo $img['url']?>"><img src="<?php echo $img['url'] ?>" <?php echo $img['wh'] ?> alt="Дoбaвлeнa <?php echo date("d.m.Y H:i:s", $img['time']) ?>"/></a>
Вообщем суть такова передать на скрипт delete.php путь к файлу который надо удалить. Можно например не картинку обернуть в ссылку, а сделать рядом крестик или иконку корзинки и её сделать ссылкой которая будет отправлять GET с урлом на delete.php, а скрипт в свою очередь будет удалять и редиректить обратно на фотоальбом.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.02.2017, 22:35
Помогаю со студенческими работами здесь

Небольшой фильтр от спама
Всем примет. Подскажите как заблокировать ввод англ. символов, и других знаков в строках ФИО Сейчас стоит такой код: if...

Упростить небольшой код
Как упростить код? &lt;div class=&quot;test&quot;&gt; &lt;table class=&quot;table table-bordered table-striped&quot;&gt; &lt;tbody&gt;&lt;tr&gt; &lt;th&gt;ID&lt;/th&gt; ...

Фотоальбом
Всем привет. Надеюсь в нужном разделе тему создал. Надеюсь на вашу помощь, а именно. Пытаюсь сделать простую программу. Смысл...

Фотоальбом
Как создать фотоальбом по Делфи?

фотоальбом
вообщем у меня надо переместить с левой стороны сайта скрипт на правую? скриншот прилагается &lt;script language =...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru