2013-02-18 2 views
-1

Я имею дело с загрузкой файлов PHP. Во-первых, я пытаюсь с Просто HTML код/​​PHP без загрузчиков (Uploadify) и т.д.Загрузка больших файлов с помощью PHP

HTML-код

<form method="post" action="" enctype="multipart/form-data"> 
    <label for="upload">Select : </label> 
    <input type="file" name="file_upload" id="upload" multiple="multiple" /> 
    <!-- 1024 x 1024 x 1024 --> 
    <input type="hidden" name="MAX_FILE_SIZE" value="1073741824" /> 
    <input type="submit" name="fsubmit" id="fsubmit" value="Upload" /> 
</form> 

РНР код

if (isset($_FILES['file_upload']) && $_FILES['file_upload']['error'] == 0) { 
    move_uploaded_file($_FILES[$field_name]['tmp_name'], '../somepath/.../' . $_FILES['file_upload']['name'); 
} else { 
    echo $_FILES['file_upload']['error']; 
} 

Он загружает файлы менее 8Mb , Чтобы переопределить PHP по умолчанию, я меняю .htaccess на это и перезапустил apache.

php_value upload_max_filesize 1024M # also tried "1024M" 
php_value post_max_size 1024M # also tried "1024M" 
php_value max_execution_time 3600 
php_value max_input_time 3600 

Но не повезло, он всегда принимает по умолчанию 8M. Я также пытаюсь изменить настройки из PHP-кода на лету, как этот

ini_set('upload_max_filesize', '1024M'); 
ini_set('post_max_size', '1024M'); 
ini_set('max_execution_time', '600'); 
ini_set('max_input_time', '600'); 
ini_set('memory_limit', -1); // no memory limit 

Это не имеет также никакого эффекта, когда я echo ini_get('post_max_size') это показывает 8M. Ответный код ошибки 2. Показать PHP говорит

UPLOAD_ERR_FORM_SIZE 

Value: 2; The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form. 

Теперь мой вопрос: почему он не может переопределить от .htacess или PHP-код? ПРИМЕЧАНИЕ Я на сервере VPS. Когда я меняю 8M на xM, он работает вручную. Надеюсь, я ясно, спасибо заранее ...

+0

Какова ценность этих переменных, которые вы используете с помощью ini_get(), я полагаю, что он не получает переопределенного – zamil

+0

@zamil, я уже сказал, что он не переопределен, но почему? –

+0

, пожалуйста, свяжитесь с вашей хостинговой компанией и спросите их, применяли ли они какую-либо ограничение максимального значения этих переменных. Например: http: //support.hostgator.com/articles/cpanel/php-settings-that-cannot-be-changed – zamil

ответ

0

При редактировании непосредственно php.ini с чем-то вроде этого:

php_value upload_max_filesize 750M 
php_value post_max_size 750M 

и она работает, в чем проблема? Вы не можете сделать это по-другому, но что не так?

+1

редактирование непосредственно 'php.ini' не является хорошим решением. вы не можете сделать это на общих серверах. –

+0

звучит логика. Извините, я не могу вам помочь. – martriay

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