Задача такого плана ...есть форма в которой есть поле' Выбрать IMG' как реализовать чтобы можно было нажать на кнопку 'ВЫБРАТЬ' и выбрать , допустим картинку, которая находится по адресу...D:...imgsss.img...и она вставилась в форму ,чтобы потом отправиться в обработчик....не хочется в форме писать вручную D:...imgsss.img
в БД можно сохранить либо информацию о файле (типа: путь к нему на сервере, описание, кто загрузил), разумеется файл будет в файловой системе. ну либо если имеется в виду содержимое файла записывать в базу, все равно принцип тот же, только вместо copy() использовать чтение файла, а затем писать содержимое переменной в БД
ну либо если имеется в виду содержимое файла записывать в базу, все равно принцип тот же, только вместо copy() использовать чтение файла, а затем писать содержимое переменной в БД
Только не пойму какой раздел Безопасности имеется в виду?
Quote
..обеспечить необходимый уровень безопасности, работая с Uploads..
Я так понял: - Предполагается ситуация, когда веб-интерфейс, написанный на PHP, регулярно используется для работы с файлами, и настройки безопасности позволяют удалять файлы в домашнем каталоге.
А если пользователь ничего не удаляет, а только посылает файлы на сервер..?
PS: Никогда до этого не общался ни на одном форуме. Заранее прошу прощения, если что-то не так напечатается или еще чего...
mime серер определяет по расширению если мне память не изменяет... так что все же надо либо рассчитывать что пользователи не догадаются проверять систему путем смены расширения у загружаемых файлов, либо открывать на чтение (вариант: бинарное чтение)
mime серер определяет по расширению если мне память не изменяет... так что все же надо либо рассчитывать что пользователи не догадаются проверять систему путем смены расширения у загружаемых файлов, либо открывать на чтение (вариант: бинарное чтение)
Я понял что тип файла определяется не по расширению, а по структуре. Когда делел нечто подобное то пробовал проверять , загрузив файл *.doc ,предварительно сменив его на *jpg и все рвано mime тип определился правильно
Я понял что тип файла определяется не по расширению, а по структуре. Когда делел нечто подобное то пробовал проверять , загрузив файл *.doc ,предварительно сменив его на *jpg и все рвано mime тип определился правильно
тогда каккой сервер скажи плиз... апач по крайней мере определяет именно по расширению (файл conf/mime.types)
mime серер определяет по расширению если мне память не изменяет... так что все же надо либо рассчитывать что пользователи не догадаются проверять систему путем смены расширения у загружаемых файлов, либо открывать на чтение (вариант: бинарное чтение)
... а потом по сигнатуре отфильтровать то, что разрешено ?
Или может вообще не стоит заморачиваться, если пользователь не имеет возможности ни запустить свой файл, ни редактировать, ни что-либо с ним делать...
ну скажем так - если юзер хочет тебе закинуть файл .php достаточно запретить такое расширение (и все, которые разрешены на исполнение пхп-интерпретатором). тогда если он переименует к примеру в .txt и все же загрузит, код выполняться не будет. с различными cgi-скриптами, независимо от языка и подавно. .htm точно так же блочим, чтоб нехороший человек не смог загрузить хтмлку с iframe на твой сервер и давать потом ссылку на него. от троянописателей защищаемся фильтром .exe, .com, .bat, .cmd, .nt, .vbs, .pif - и все. ну переименует он экзешник в txt, так скачавший все равно не запустит этого трояна
...либо открывать на чтение (вариант: бинарное чтение)
но сформулировать не получается.
Дело в том, что загруженный пользователем файл (картинку или .doc), мне необходимо передать с сервера на свой жесткий диск для дальнейшего оффлайн использования.
Вроде все становится на свои места. Периодически забирать загруженные файлы - вроде как бы проще.
Но все же, наверное, со временем придется более детально изучить "Отправку почты средствами PHP", т.к., видимо, просто mail() тут - ("отправляешь файлы после загрузки себе на мыло") - не обойтись.
You can post now and register later.
If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.
Здравствуйте, подскажите какой тег использовать для увеличения значения, пример на картинке.
Вроде, про такой тег я слышала. Если есть тег прогресс бар, значит и такое должно быть.
Question
Serjinio
Задача такого плана ...есть форма в которой есть поле' Выбрать IMG' как реализовать чтобы можно было нажать на кнопку 'ВЫБРАТЬ' и выбрать , допустим картинку, которая находится по адресу...D:...imgsss.img...и она вставилась в форму ,чтобы потом отправиться в обработчик....не хочется в форме писать вручную D:...imgsss.img
Простите если коряво объяснил ...
Link to comment
Share on other sites
21 answers to this question
Recommended Posts
Yarik Voronov
да и не забыть
чтобы файл отправился на серверLink to comment
Share on other sites
Мел
А как этот файл (если, например, это документ WORD) встречать на сервере?
Куда он пропишется???
Link to comment
Share on other sites
Scrum
Link to comment
Share on other sites
D.S.Denton
он пропишется в массив $_FILES
Link to comment
Share on other sites
Serjinio
К СОЖАЛЕНИЮ это загрузка файлов на сервер в папку ,а мне надо чтобы он загружал в БД ,а за ссылку спасибо...
Link to comment
Share on other sites
D.S.Denton
в БД можно сохранить либо информацию о файле (типа: путь к нему на сервере, описание, кто загрузил), разумеется файл будет в файловой системе. ну либо если имеется в виду содержимое файла записывать в базу, все равно принцип тот же, только вместо copy() использовать чтение файла, а затем писать содержимое переменной в БД
Link to comment
Share on other sites
Serjinio
именно содержимое,а можно пример кода
Link to comment
Share on other sites
D.S.Denton
input_file_name - то что пишем в name у инпута типа файл ()
Link to comment
Share on other sites
Мел
Scrum писал:
Спасибо большое!
Только не пойму какой раздел Безопасности имеется в виду?
Я так понял: - Предполагается ситуация, когда веб-интерфейс, написанный на PHP, регулярно используется для работы с файлами, и настройки безопасности позволяют удалять файлы в домашнем каталоге.
А если пользователь ничего не удаляет, а только посылает файлы на сервер..?
PS: Никогда до этого не общался ни на одном форуме. Заранее прошу прощения, если что-то не так напечатается или еще чего...
Link to comment
Share on other sites
Scrum
вот и надо проверять че он там посылает.
Link to comment
Share on other sites
D.S.Denton
вах! побольше бы таких пользователей и рунет станет лучше... но "жаль, что жить в эту пору прекрасную уж не придется ни мне, ни тебе"
Link to comment
Share on other sites
Мел
И все же, достаточно ли проверить Mime-тип загруженного файла, или все гораздо "замороченней" ?
Link to comment
Share on other sites
D.S.Denton
mime серер определяет по расширению если мне память не изменяет... так что все же надо либо рассчитывать что пользователи не догадаются проверять систему путем смены расширения у загружаемых файлов, либо открывать на чтение (вариант: бинарное чтение)
Link to comment
Share on other sites
Sserg-135
Я понял что тип файла определяется не по расширению, а по структуре. Когда делел нечто подобное то пробовал проверять , загрузив файл *.doc ,предварительно сменив его на *jpg и все рвано mime тип определился правильно
Link to comment
Share on other sites
D.S.Denton
тогда каккой сервер скажи плиз... апач по крайней мере определяет именно по расширению (файл conf/mime.types)
Link to comment
Share on other sites
Мел
... а потом по сигнатуре отфильтровать то, что разрешено ?
Или может вообще не стоит заморачиваться, если пользователь не имеет возможности ни запустить свой файл, ни редактировать, ни что-либо с ним делать...
Link to comment
Share on other sites
D.S.Denton
ну скажем так - если юзер хочет тебе закинуть файл .php достаточно запретить такое расширение (и все, которые разрешены на исполнение пхп-интерпретатором). тогда если он переименует к примеру в .txt и все же загрузит, код выполняться не будет. с различными cgi-скриптами, независимо от языка и подавно. .htm точно так же блочим, чтоб нехороший человек не смог загрузить хтмлку с iframe на твой сервер и давать потом ссылку на него. от троянописателей защищаемся фильтром .exe, .com, .bat, .cmd, .nt, .vbs, .pif - и все. ну переименует он экзешник в txt, так скачавший все равно не запустит этого трояна
Link to comment
Share on other sites
Мел
Спасибо, D.S.Denton, за помощь!
Вот только возник вопрос по поводу
но сформулировать не получается.
Дело в том, что загруженный пользователем файл (картинку или .doc), мне необходимо передать с сервера на свой жесткий диск для дальнейшего оффлайн использования.
Link to comment
Share on other sites
D.S.Denton
а это уже либо периодически забираешь из директории, куда сохраняешь загруженные файлы, либо отправляешь после загрузки себе на мыло
Link to comment
Share on other sites
Мел
Спасибо D.S.Denton.
Вроде все становится на свои места. Периодически забирать загруженные файлы - вроде как бы проще.
Но все же, наверное, со временем придется более детально изучить "Отправку почты средствами PHP", т.к., видимо, просто mail() тут - ("отправляешь файлы после загрузки себе на мыло") - не обойтись.
Link to comment
Share on other sites
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.