Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » Помогите новичку в php.

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4

Открыть новую тему     Написать ответ в эту тему

bygangster

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте, уважаемые пользователи форума, помогите пожалуйста, у меня есть обычный php код для загрузки изображений на сервер, после загрузки пользователю даётся арямая ссылка к файлу, как мне сделать что-бы рядом с этой ссылкой была постояная ссылка на удаление ?

Всего записей: 39 | Зарегистр. 04-03-2013 | Отправлено: 23:22 04-03-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bygangster

Цитата:
как мне сделать что-бы рядом с этой ссылкой была постояная ссылка на удаление ?

смотря как вы хотите все это "оформить".. вы же не хотите, чтобы кто угодно мог удалить?  
тогда в ссылке не должно быть прямого названия файла, а какой то его идентификатор..  
значит сопоставление файл - идентификатор где то надо хранить на сервере тоже.. либо считать когда надо..

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 23:34 04-03-2013 | Исправлено: Cheery, 23:42 04-03-2013
bygangster

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery
А как это сделать ?

Всего записей: 39 | Зарегистр. 04-03-2013 | Отправлено: 23:40 04-03-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bygangster

Цитата:
А как это сделать ?

ну как.. например брать файл, что то с ним делать (просто md5 хэш будет мало).. например добавлять что то свое, брать md5 хэш от этого и давать ссылку, в которой будет упомянут и сам файл и этот идентификатор..
 
то есть вы смотрите, что просят удалить такой то файл.. производите с ним те же операции и сравниваете результат с тем идентификатором, что вам передали по ссылке.
 
если совпадают - удаляете файл

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 23:43 04-03-2013
bygangster

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery
Понятно, ещё есть такая проблема после загрузки файла пользователя перекидывает на саму страницу где написана прямая ссылка к его файлу (писал выше) проблема в том что когда обновляешь эту страницу тогда файл ещё раз закидывается на сервер, как это исправить? (названия файлов генерируются)

Всего записей: 39 | Зарегистр. 04-03-2013 | Отправлено: 23:57 04-03-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bygangster

Цитата:
страницу тогда файл ещё раз закидывается на сервер, как это исправить?

не выводить название сразу из страницы, что обрабатывает загрузку.. перекидывать на другую с помощью 302 заголовка. при этом данные о файле можно передавать через GET параметры или же с помощью сессии
PHP: переадресация при повторной отправке post-формы

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 00:01 05-03-2013 | Исправлено: Cheery, 00:08 05-03-2013
bygangster

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery
Можно пример?

Всего записей: 39 | Зарегистр. 04-03-2013 | Отправлено: 00:08 05-03-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bygangster

Цитата:
Можно пример?

PHP: переадресация при повторной отправке post-формы
Повторная отправка данных из формы...
 
проще говоря..
 
<?php
обработали закачку файлу..
header('Location: скрипт_выводящий_информацию.php', 302);
exit;
?>
 
а в другом скрипте уже выводите ссылку на файл и ссылку на удаление..
передавать информацию о файле можно через сессии
http://phpfaq.ru/sessions
 
или же как  
header('Location: скрипт_выводящий_информацию.php?var1=' . urlencode($var1) . '&var2=' . urlencode($var2), 302);
и так далее

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 00:08 05-03-2013 | Исправлено: Cheery, 00:12 05-03-2013
bygangster

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery
Эти строки вписывать в основной код загрузчика ?

Всего записей: 39 | Зарегистр. 04-03-2013 | Отправлено: 08:54 05-03-2013
bygangster

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подробнее... [/more]

Всего записей: 39 | Зарегистр. 04-03-2013 | Отправлено: 20:07 05-03-2013 | Исправлено: bygangster, 20:10 05-03-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bygangster

Цитата:
Эти строки вписывать в основной код загрузчика ?

я же, вроде, внятно написал..
после кода обработки загруженного файла.
 
то есть вместо echo 'Ваш файл успешно загружен..
это выводите в другом скрипте, на который и перебрасываете.

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 21:34 05-03-2013
bygangster

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Тоесть в основном коде вместо этого "echo 'Ваш файл загружен' " писать это
header('Location: скрипт_выводящий_информацию.php', 302); exit;  и там где "скрипт выводящий инфу.php"  в этот файл писать это echo 'Ваш файл успешно загружен <a href="' . $uploaddir . $filename . '">смотреть</a>';  я так понял ?

Всего записей: 39 | Зарегистр. 04-03-2013 | Отправлено: 23:24 05-03-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bygangster

Цитата:
я так понял  

да, но переменных
Цитата:
$uploaddir . $filename

в новом файле не будет, передать нужно их так, как указал выше

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 23:30 05-03-2013
bygangster

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery
А можно как-нибудь без этих сессий?

Всего записей: 39 | Зарегистр. 04-03-2013 | Отправлено: 23:34 05-03-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bygangster

Цитата:
А можно как-нибудь без этих сессий?  

я указал и вариант без сессий - передача как GET параметр

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 23:36 05-03-2013
bygangster

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А здесь нужно что-то менять ? var1=' . urlencode($var1) . '&var2=' . urlencode($var2), 302); 

Всего записей: 39 | Зарегистр. 04-03-2013 | Отправлено: 23:46 05-03-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bygangster

Цитата:
А здесь нужно что-то менять  

а вы как думаете? имена переменных, значения которых хотите передать
в конечном скрипте их можно получить как  
$var1 = htmlentities($_GET['var1']);
htmlentities на всякий случай, если собираетесь выводить это в коде страницы, чтобы избежать XSS
http://ru.wikipedia.org/wiki/Межсайтовый_скриптинг

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 23:48 05-03-2013 | Исправлено: Cheery, 23:50 05-03-2013
bygangster

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery
Я так понял что вместо urlencode вставлять $ filename а в другом $uploaddir ?

Всего записей: 39 | Зарегистр. 04-03-2013 | Отправлено: 09:49 06-03-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bygangster
ну такие то вопросы можно было и не спрашивать

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 09:53 06-03-2013
bygangster

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery
Я просто php плохо понимаю...

Всего записей: 39 | Зарегистр. 04-03-2013 | Отправлено: 10:24 06-03-2013
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4

Компьютерный форум Ru.Board » Интернет » Web-программирование » Помогите новичку в php.


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru