2015-02-09 3 views
0

У меня возникли проблемы при загрузке zip-файла на мой сервер. Функция move_uploaded_file прерывается каждый раз. Я не понимаю эту проблему. Разрешение папки составляет 777, а размер файла - около 2 МБ.Загрузите файл с запросом POST в php

<html> 
    <body> 

    <form action="../API/upload_zip.php" method="post" enctype="multipart/form-data"> 
     Select image to upload: 
     <input type="file" name="fileToUpload" id="fileToUpload"> 
     <input type="submit" value="Upload Zip" name="submit"> 
    </form> 

    </body> 
</html> 

-

<?php 
    $target_dir = "../uploads/"; 
    $machineID="H725"; 
    $path=$target_dir.$machineID; 
    if (!file_exists($path)) 
    { 
     if(!mkdir($path, 0777, true)) die('Failed to create folders 1...'); 

     chmod($path, 0777); 
    }  

    $pathWithData= $path."/".date("Y_m_d_h_i"); 
    if (!file_exists($pathWithData)) 
    { 
     if(!mkdir($pathWithData, 0777, true)) die('Failed to create folders 2...'); 

     chmod($pathWithData, 0777); 
    } 

    $final_path = $pathWithData ."/". basename($_FILES["fileToUpload"]["name"]); 
    echo "PATH: ".$final_path."<br>"; 


    if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $final_path)) 
    { 
     echo "<br>The file ". basename($_FILES["fileToUpload"]["name"]). " has been uploaded."; 
    } 
    else 
    { 
     echo "<br>Sorry, there was an error uploading your file."; 
    } 
?> 
+0

Вы получаете разрешение отказано ошибка или что-то еще? Кроме того, это происходит с небольшим файлом, скажем, 10 КБ? –

+0

У вас есть сообщение об ошибках? – AbraCadaver

+0

Это содержимое $ final_path "../uploads/H725/2015_02_09_09_26/Archive.zip", это правильно, и на сервере две папки создаются без проблем – Paolo

ответ

0

Просто, чтобы быть уверенным, но ваш хозяин имеет file_uploads = On, верно? Проверьте php.ini или создать phpinfo();

Кроме того, попробуйте вторя ваш $ _FILES с var_dump($_FILES); [Ошибка] должен быть 0, если нет никаких проблем, прямо в загрузке. Эти возвращающиеся постоянные ошибки:

UPLOAD_ERR_OK: 0 
UPLOAD_ERR_INI_SIZE: 1 
UPLOAD_ERR_FORM_SIZE: 2 
UPLOAD_ERR_NO_TMP_DIR: 6 
UPLOAD_ERR_CANT_WRITE: 7 
UPLOAD_ERR_EXTENSION: 8 
UPLOAD_ERR_PARTIAL: 3 

В php.ini, изменить эти значения:

upload_max_filesize = 100M 
post_max_size = 100M 
+0

file_uploads включен, и я увеличил максимальный размер файла до 150 Мб. это содержимое var_dump ($ _ FILES): array (1) {["fileToUpload"] => array (5) {["name"] => string (11) "Archive.zip" ["type"] = > string (0) "" ["tmp_name"] => string (0) "" ["error"] => int (1) ["size"] => int (0)}} – Paolo

+0

Итак, проблема в этом UPLOAD_ERR_INI_SIZE Значение: 1; Загруженный файл превышает директиву upload_max_filesize в php.ini. Спасибо! – Paolo

+0

Можете ли вы рассказать мне, какой вариант php.ini мне нужно изменить для большого файла? – Paolo

Смежные вопросы