Я пытаюсь разрешить пользователям загружать максимум 2 ГБ файла JAR с вводом файла HTML и PHP. Процесс работает нормально, и он загружает файл, но только если он небольшой. Я установил php.ini к этому:
max_execution_time = 10000
max_input_time = 10000
post_max_size = 2048M
upload_max_filesize = 2048M
После того, как я сделал это, он сделал все мои php-страницы, которые есть в нем:
require_once("../include/config.php");
чтобы загрузить как простую белую страницу с НИЧЕГО на ней ИЛИ (ИНОГДА), это дает мне эту ошибку:
Fatal error: Cannot redeclare encodePassword() (previously declared in /home/duskfall/public_html/authentication/encode.php:2) in /home/duskfall/public_html/authentication/encode.php on line 80
На линии 80, где сказано, что это было:
$coded = "";
Зачем это делать, когда я помещаю только 4 вещи в php.ini. Они также единственные 4 вещи, когда я создал файл php.ini. Он даже делает это, когда я ничего не помещаю в файл php.ini. Нужно ли помещать некоторые другие вещи в файл?
Как бы я исправить эту проблему. Или есть лучший способ сделать это с php.ini и сделать его эффект только на одной странице php?
РЕДАКТИРОВАТЬ: Также я использую хост godaddy.com на сервере Linux, если это поможет.
Также post_max_size должен быть выше, чем upload_max_filesize.
Используйте в PHP-скрипте:
echo ini_get («memory_limit»). «\ n»;
ini_set ( «memory_limit», «30M»);
echo ini_get («memory_limit»). «\ n»;
echo ini_get («post_max_size»). «\ n»;
ini_set ( «post_max_size», «20M»);
echo ini_get («post_max_size»). «\ n»;
echo ini_get («upload_max_filesize»). «\ n»;
ini_set ( «upload_max_filesize», «19M»);
echo ini_get («upload_max_filesize»). «\ n»;
Также:
Я думаю, что у вас есть проблемы с вашей функцией encodePassword ().
Попробуйте использовать новые чистые тестовые файлы, такие как:
test.html
<form enctype="multipart/form-data" action="/path/to/your/phpscript" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="30000" />
Send this file: <input name="userfile" type="file" />
<input type="submit" value="Send File" />
</form>
test.php
$uploaddir = '/path/to/your/dir';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "Success.\n";
} else {
echo "Error!\n";
}
echo '<pre>';
echo 'Debug file:';
print_r($_FILES);
echo "</pre>";
Других решений пока нет …