Проблема с загрузкой, удалением и повторной загрузкой изображения

Keron

Новичок
Проблема с загрузкой, удалением и повторной загрузкой изображения

Суть такова

На странице 4 формы, через каждую можно загрузить фото.

К примеру,
1) выбираем 2-ю форму,
2) грузим фото на сервак ->
3) переадресация на эту же страницу, но вместо 2-ой формы - загруженное фото с ссылкой рядом "Удалить фото".
4) Удаляем фото ->
5) переадресация на эту же страницу - опять 4 пустых формы - фото удалилось,
6) опять выбираем 2 форму, загружаем ДРУГОЕ фото ->
7) переадресация на ту же страницу, но вместо 2 формы - фото, НО - не то, которое последний раз загрузил, а то, которое загружал в предыдущий раз. Помогает только F5.

То ли в браузере во временных файлах старое фото сохраняется и при выводе изображния используется, даже если на диске потерто. Что подскажете?

Фрагмент кода:

PHP:
#Форма либо вывод фото (цикл - 4 итерации)

if(file_exists($nameoffile))
{
echo "<img border=\"0\" src=\"$nameoffile1\">
<br>
<a href=\"foto.php?etap=delfoto&del=$i\">Удалитьфото</a>
";
}
else
{
echo "
<form method=\"post\" action=\"$php_self\" enctype=\"multipart/form-data\">
<input type=\"file\" name=\"im\" size=\"38\">
<input type=\"submit\" name=\"submit\" value=\"Загрузить файл\">
</form>
";
}


#удаление файла (foto.php?etap=delfoto)

unlink($nameoffile);
header("location:foto.php");
 

iceman

говнокодер
header('Pragma: No-Cache');

-~{}~ 09.07.07 15:56:

и вообще есть поиск!
 

invander

Новичок
в этом случае наверное просто лучше делать уникальный названия картинок к примеру md5 от имени и такой проблемы точно повторяться не будет, а так да это в кэше что-то залипло
 

Keron

Новичок
invander, точно, сам что-то не додумался про md5, сенкс
 

SiMM

Новичок
> уникальный названия картинок к примеру md5 от имени
Где ж тут уникальность - заливаешь файл с таким же именем - получаешь ту же проблему.
LAST_INSERT_ID(), если имеется таблица загруженных картинок - самое то. Либо к ссылке на загруженную картинку добавлять случайное число - image.gif?1235498 - всё дело в кэше клиента.
 

kruglov

Новичок
invander
А зачем md5 от времени, а не само время? Просто интересно.
 

invander

Новичок
ну это наверное больше мои предпочтения :) люблю когда ссылка так выглядит
 

Keron

Новичок
просто md5 от имени конечно смысла нет
я решил проще - пересмотрел папочную структуру с рандомным выбором имени файла, все ок
 

boombick

boombick.org
А зачем md5 от времени, а не само время? Просто интересно.
md5 круче просто! Фигасе, Большой Дядька посмотрит код и скажет: "Чувак реально крут, у него мд-пять от времени, штобы картинки не кешировались. А мы все сынки перед ним." И сразу же возьмет его на работу в гугл Самым Главным Программистом.
 

mak_sim2001

Новичок
iceman
что самое удивительное была та-же проблема, запрещал кеширование браузером в т.ч. header('Pragma: No-Cache'); и вообще всеми способами описаными здесь - http://phpclub.ru/faq/wakka.php?wakka=cahcing/WebBrowserCaching&v=vur

не помагает я так понимаю кешируется не страница кешируется изображение и если имя не поменять то это не поможет. Может можно как-то картинке запретить кешироватся?....
 
Сверху