|
|
|
| Что подразумевается под словами «запись файла в сессию»
Запись только имени файла, или же все таки всего файла целиком?
Если Пишу так:
$_SESSION['foto'] = $_FILES["foto"]["name"];
|
в сессию заносится только имя файла.
И нужно еще в довесок копирывать файл во временную папку
if(copy($_FILES["foto"]["tmp_name"], "../img/temp/".$_FILES["foto"]["name"]))
|
из которой потом удалять, но если польз.вдруг прервал действия и файл не успел удалиться то пойдет накопление…
Подскажите пожалуйста как правильно реализовать запись файла в сессию.? | |
|
|
|
|
|
|
|
для: Dinya_1
(05.04.2011 в 22:36)
| | >Что подразумевается под словами «запись файла в сессию»
Это от контекста зависит, в сессию пишут информацию, чтобы обойти несессионность HTTP или для того, чтобы воспользоваться сессией как кэшем, чтобы ускорить операции.
>Запись только имени файла, или же все таки всего файла целиком?
Если файл текстовый, то возможно имеет смысл его помещать целиком, если речь идет об изображении - смысла помещать его туда нет, так как при отображении его придется сохранять на диск, да и сама сессия хранится на диске, поэтому получится просто двойная работа.
>Подскажите пожалуйста как правильно реализовать запись файла в сессию.?
А какова цель этой операции (просто не уверен, что предложу эффективное решение, так как не очень понимаю, чего нужно достичь)? | |
|
|
|
|
|
|
|
для: cheops
(05.04.2011 в 22:57)
| | >Если файл текстовый, то возможно имеет смысл его помещать целиком, если речь идет об изображении - смысла помещать его туда нет, так как при отображении его придется сохранять на диск, да и сама сессия хранится на диске, поэтому получится просто двойная работа.
Тогда Наверное следует записывать только название, а сам файл во временную папку. (в этом моменте знаю как делать)
>А какова цель этой операции (просто не уверен, что предложу эффективное решение, так как не очень понимаю, чего нужно достичь)?
Цель: В случае не правельного заполнения формы, возвращать её же пользователю с ранее заполненными полями(на куках), если польз. перед ошибкой успел занести фото, то в место Инпута для файла показывать изображение, и рядом ссылочку (изменить фото).
P/s Часто польз.в попыхах после возврата формы не замечает, отстутствие указанного пути в поле инпут (у меня это поле не является обязательным для заполнения.), и получается не хорошо.... | |
|
|
|
|
|
|
|
для: Dinya_1
(05.04.2011 в 23:23)
| | может быть, стоит подумать о том, чтобы сделать необходимые проверки на стороне клиента ?(допустим не дать отправить форму с выбранным изображением пока не будет заполнено обязательное поле) | |
|
|
|
|
|
|
|
для: Dinya_1
(05.04.2011 в 23:23)
| | В общем, конечно, можно кэшировать изображение, но это операция вряд ли будет очень частой, а сама процедура записи в базу данных или на диск гораздо более дорогая, чем любой SELECT-запрос. В общем хуже не будет (если не возрастает сложность кода), но какой-то большой пользы ожидать не следует. | |
|
|
|
|
|
|
|
для: cheops
(06.04.2011 в 01:10)
| | А может возможно как то запомнить путь до файла на стороне клиента (тот который указывается при выборе, в "input type='file'") ? | |
|
|
|
|
|
|
|
для: Dinya_1
(06.04.2011 в 07:43)
| | Нет, такой возможности нет, чтобы нельзя было подставить свой путь, скрыть это поле и загрузить на сервер произвольный файл с машины пользователя. В целях безопасности это поле всегда очищается. | |
|
|
|
|
|
|
|
для: cheops
(06.04.2011 в 10:04)
| | Спасибо. | |
|
|
|