Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Загрузка файлов на сервер
Форумы портала PHP.SU » PHP » Программирование на PHP » Загрузка файлов на сервер

Страниц (1): [1]
 

1. tramX - 22 Ноября, 2009 - 18:30:03 - перейти к сообщению
Здравствуйте. Подскажите в чем причина
Через форму загружаю файлы на сервер
<input type="file" name="uploadfile">
<input type="submit" value="Загрузить">

обработка
<?php

// Каталог, в который мы будем принимать файл:
$uploaddir = '/img/';
$uploadimg = $uploaddir.basename($_FILES['uploadimg']['name']);

// Каталог, в который мы будем принимать файл:
$uploaddir = '/video/';
$uploadfile = $uploaddir.basename($_FILES['uploadfile']['name']);



// Копируем файл из каталога для временного хранения файлов:
if (copy($_FILES['uploadimg']['tmp_name'], $uploadimg))
if (copy($_FILES['uploadfile']['tmp_name'], $uploadfile))
{
echo "<h3>Файл успешно загружен на сервер</h3>";
}
else { echo "<h3>Ошибка! Не удалось загрузить файл на сервер!</h3>"; exit; }

// Выводим информацию о загруженном файле:
echo "<h3>Информация о загруженном на сервер файле: </h3>";
echo "<p><b>Оригинальное имя загруженного файла: ".$_FILES['uploadfile']['name']."</b></p>";
echo "<p><b>Mime-тип загруженного файла: ".$_FILES['uploadfile']['type']."</b></p>";
echo "<p><b>Размер загруженного файла в байтах: ".$_FILES['uploadfile']['size']."</b></p>";
echo "<p><b>Временное имя файла: ".$_FILES['uploadfile']['tmp_name']."</b></p>";
?>

Маленького размера файлы загружаются отлично, а при загрузке большого файла минуты через 4 предлагает сохранить сам php файл отвечающий за загрузку.
В php.ini
upload_max_filesize = 1500M
; Default timeout for socket based streams (seconds)
default_socket_timeout = 600
2. Nestor - 22 Ноября, 2009 - 20:59:10 - перейти к сообщению
set_time_limit(0);
3. JustUserR - 23 Ноября, 2009 - 11:51:30 - перейти к сообщению
tramX Действительно превышен какойто ресурс - и навернятка у вас стоит PHP-CGI так как Apache передает на исполнение PHP-интрпретатору ваш PHP-файл и когдат он обнаруживает лимит и аварийно останавливает выполнение то Apache предлагает отдает данный PHP-файл заместо его CGI-исполнения
Наверняка такое поведение можно выключть в настройках handler cgi-script чтобы в таком случае выдавалсь 500 ошибка

 

Powered by ExBB FM 1.0 RC1