Перемещение файлов в PHP (относится к загрузке файлов) - PullRequest
0 голосов
/ 18 июля 2011

У меня есть сайт, на который люди загружают большие (2 МБ-3 МБ) файлы, в больших количествах.Поэтому мне нужно хранить их на внешнем накопителе (мой drobo).Как я могу загрузить файлы в папку на сервере, а затем как написать php-скрипт, который извлекает их и позволяет пользователям загружать их.

Спасибо, Джои Саккини

Ответы [ 3 ]

1 голос
/ 18 июля 2011

Для этого просто переместите ваши файлы в доступное пространство.

http://php.net/manual/en/function.move-uploaded-file.php

Обязательно примите во внимание последствия этого. Как только вы переместите загруженный файл в открытый каталог, любой может получить к нему доступ. Это очень опасно. Представьте, что кто-то загружает скрипт PHP.

Лучше всего создать скрипт, который извлекает файлы из местоположения, не находящегося в корневом веб-каталоге. На базовом уровне вы можете сохранить в базе данных свойства файла, такие как оригинальное имя (вы должны переименовать их в случайное место на диске) и mimetype. Затем отправьте файл клиенту с помощью readfile().

Для загрузки резервных копий на свой собственный жесткий диск просто используйте SFTP.

0 голосов
/ 18 июля 2011

хорошо, вы можете хранить загруженные файлы вне директории сервера. так что если у вас корневой каталог сервера / www / htdocs, вы можете сохранить файлы, скажем, / загружены. так что используйте что-то вроде

move_uploaded_file($_FILES['file'],'/uploaded')

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

0 голосов
/ 18 июля 2011

Это не быстрый ответ, вам нужно понять, как загружать, извлекать и сохранять файл на сервере;установить права на запись для PHP и несколько других вещей.Я предлагаю вам попробовать эти ссылки, чтобы вы начали быстрее:

http://www.w3schools.com/php/php_file_upload.asp

http://www.tizag.com/phpT/fileupload.php

Также посетите справочное руководство по PHP для некоторых замечательных примеров.

...