2014-09-16 5 views
0

Я создаю форму для загрузки файлов, которая запрашивает имя пользователя в файле_share.php, затем следует перейти к форме загрузки upload.php, которая позволяет пользователям загружать файлы.Создание каталога для загрузки файла в PHP

Проблема с линии:

`$full_path = sprintf("/home/dfatoki11/uploading/%s/%s", $username, $filename);` 

Когда я запускаю файл, он говорит, что не удалось записать данные сессии и ошибка разрешения запрещен. При настройке временного файла для хранения загруженных файлов какой каталог я использую и как я могу установить разрешения на веб-сервере aws/apache?

fileshare.php

<?php 
session_start(); 
    $username = $_SESSION['username']; 
    echo $_SESSION['username']; 
    ?> 

<?php 
$myFiles = sprintf("/home/dfatoki11/uploading/%s/%s", $userName, $filename); 
$files=scandir($myFiles); 

$full_path = sprintf("/home/dfatoki11/uploading/%s/%s", $username, $filename); 
$finfo = new finfo(FILEINFO_MIME_TYPE); 
$mime = $finfo->file($full_path); 

header("content-Type:" .$mime); 
readfile($full_path); 
?> 

<form enctype="multipart/form-data" action="upload.php" method="POST"> 
<p> 
<label for="file">Choose a file to upload:</label> 
<input name="uploadedfile" type="file" id="file" /> 
<input type="submit" value="Upload File" /> 
</p> 
</form> 

upload.php

<?php 
     session_start(); 
     // Get the filename and make sure it is valid 
     $filename = basename($_FILES['uploadedfile']['name']); 
     if(!preg_match('/^[\w_\.\-]+$/', $filename)){ 
      echo "Invalid filename"; 
      exit(); 
     } 
     // Get the username and make sure it is valid 
     $username = $_SESSION['username']; 
     if(!preg_match('/^[\w_\-]+$/', $username)){ 
      echo "Invalid username"; 
      exit(); 
     } 
     $full_path = sprintf("/home/dfatoki11/uploading/%s/%s", $username, $filename); 

       if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $full_path)){ 
       header("Location: file_share.php"); 
       exit(); 
       }else{ 
       header("Location: login.php"); 
       exit(); 
       } 


?> 
+0

проверьте разрешение на использование каталога и убедитесь, что разрешение на загрузку каталога составляет 755 или 777. –

+0

Обратите внимание, что вы должны использовать 777 только для целей тестирования. – lukadante3

+0

используйте 'chmod' (http://php.net/manual/en/function.chmod.php), чтобы изменить разрешение файла в php. – Lekhnath

ответ