Ваш код в порядке.Вы не можете загрузить файл по 3 причинам:
1) Когда достигнуто значение limit
(MAX_FILE_SIZE
), вы не можете загрузить любой файл, 300000
равный 300 KB
, попробуйте увеличитьlimit
.
У вас есть:
<input type="hidden" name="MAX_FILE_SIZE" value="300000">
Попробуйте:
<input type="hidden" name="MAX_FILE_SIZE" value="3000000">
Где 3000000
означает 3 MB
2) Вы предполагаете, что ваш путь существует, сначала проверьте, существует ли, а если нет, рекурсивно создайте свой полный путь и задайте в то время разрешение (0755
):
if (!is_dir($_SERVER['DOCUMENT_ROOT'] . "/var/www/html/")) {
@mkdir($_SERVER['DOCUMENT_ROOT'] . "/var/www/html/", 0755, true);
}
3) В настоящее время вы предполагаете, чтоpath
является правильным, ложным, путь "/var/www/html"
не является, попробуйте $ _ SERVER ['DOCUMENT_ROOT'] и косую черту (/
) в конце вашего пути.Посмотрите это изменение:
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $_SERVER['DOCUMENT_ROOT'] . "/var/www/html/" . $_FILES['userfile']['name'])) {
С этими 3 настройками ваш скрипт работает отлично.Теперь он печатает: Ce l'hai fatta!
Наконец, я предлагаю вам исправить:
?php
с <?php
Надеюсь, это поможет.