2017-01-05 6 views
0

Этот вопрос, вероятно, уже был задан, но почему-то я не могу его найти или мне нужна «особая забота» для моей проблемы, поскольку я очень новичок. Поэтому, пожалуйста, будьте немного терпеливы со мной здесь.Как я могу создать папку uploads на моем веб-сервере, к которой нельзя получить доступ извне?

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

Я прочитал кое-что о 777, но я не уверен, что это путь. В настоящее время я запускаю XAMPP и Apache.

+0

Возможный дубликат [должен иметь каталог загрузки apache имеет 777 разрешений или принадлежит пользователю www-data?] (http://stackoverflow.com/questions/6380331/should-apache-upload-dir-have- 777-permissions-or-being-to-www-data-user) – guessimtoolate

+0

Спасибо за ссылку. Это не очень помогает мне, потому что мне не хватает более базовых знаний. – sevku

+1

читайте это, я думаю, у вас будет свой путь http://php.net/manual/en/function.chmod.php –

ответ

2

Чтобы настроить Apache, чтобы скрыть папку от прямого публичного доступа, самый простой способ создать .htaccess файл внутри этой папки со следующим содержанием:

Order deny,allow 
deny from all 

На XAMPP, вам не нужно для установки любых атрибутов папок (chmod) для записи.

Чтобы сохранить загруженный файл в папку, использовать PHP скрипт:

<?php 
if(!isset($_FILES['file'])) { 
    echo 'No file received'; 
} else { 
    $saveTo = 'uploads/' . basename($_FILES['file']['name']); 
    if(move_uploaded_file($_FILES['file']['tmp_name'], $saveTo)) { 
     echo 'Upload successful'; 
    } else { 
     echo 'Error uploading the file'; 
    } 
} 
+0

спасибо. – sevku

1

Это очень легко ограничить папку. Открыть Блокнот создать файл и записать

Deny from all 

и сохраните этот файл как .htaccess в папке, которую вы хотите ограничить. thats all :)

+0

Спасибо. Да, это действительно легко. – sevku