загрузка файла — Получить путь к папке вне корневого каталога документа для загрузки фотографий из переполнения стека

Проблема:

Эта проблема в три раза.

  1. Прочитав этот совет (Как защитить папку, позволяющую пользователям загружать файлы?) для хранения фотографий в папке вне корня документа я столкнулся с проблемой при работе с Cloud9. Проблема состоит в том, чтобы написать код PHP эффективным способом, который указывает на один уровень выше корневого документа, а затем в папку с изображениями.
  2. Какие разрешения должна иметь папка вне корня документа, чтобы пользователи могли загружать фотографии? Я видел, что некоторые страницы рекомендуют 666 так что пользователи могут читать / писать, но не выполнять. Вопрос в том, действительно ли пользователям нужно читать фотографии? Если вы работаете с базой данных, вы разрешаете выполнять чтение PHP, а не пользователям. Если это хороший случай, какое разрешение тогда рекомендуется?
  3. Каков рекомендуемый способ доступа к изображениям, находящимся вне корня документа?

Код:

В настоящее время, когда я применяю этот пример к среде Cloud9, мне приходится писать папку жестко.

$upload_dir = '/home/ubuntu/images/';

В то время как фотографии загружаются с успехом, я чувствую, что жесткое кодирование пути не является правильным способом.

Желаемый результат:

Чтобы найти путь к папке / images, которая находится на один уровень вне корня документа, установите правильные разрешения для папки и получите доступ к загруженным изображениям в соответствии с рекомендациями PHP.

0

Решение

1) Как найти путь:

define ( DOCUMENT_ROOT, realpath(
$_SERVER['DOCUMENT_ROOT']
) . DIRECTORY_SEPARATOR
);

define ( UPLOAD_DIR, realpath(
DOCUMENT_ROOT .
DIRECTORY_SEPARATOR . ".." .
DIRECTORY_SEPARATOR . "images") . DIRECTORY_SEPARATOR
);

2) Под пользователем в данном случае подразумевается пользователь, который запускает веб-сервер. Например, «www-данные».

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]