Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Загрузка на сервер файла большого объёма (~15Mb)
 
 автор: spyder   (19.01.2007 в 13:00)   письмо автору
 
 

Всем привет!
Столкнулся с проблемой при закачки файлов размером больше 8мб.
Не хочит закачивать их в папку. Если размер меньше то нормально закачивает
Вот код

<?
// Куда сохраним файл? 
// Давайте в папке с этим скриптом, 
// создадим папку "files", туда-то и будем 
// сохранять все загружаемые файлы. 

$path=GetCWD()."/files"

// Проверяем на существование папку $path 

if(!file_exists($path)) 
die(
"<b>Пожалуйста, создайте папку <font color=red>".$path."</font> и <a href=&#63;>повторите попытку загрузить файл</a>.</b>"); 

// Выводим форму для загрузки файла. 

if(empty($_FILES['UserFile']['tmp_name'])) 
echo 
"<form method=post enctype=multipart/form-data> 
Выберите файл: <input type=file name=UserFile> 
<input type=submit value=Отправить> 
</form>"


// Если файл не загружен по каким-то причинам, выводим ошибку. 

elseif(!is_uploaded_file($_FILES['UserFile']['tmp_name'])) 
die(
"<b><font color=red>Файл не был загружен! Попробуйте <a href=&#63;>повторить попытку</a>!</font></b>"); 

// Если файл удачно загружён на сервер, делаем вот что... 

else 

// Переносим загружённый файл в папку $path 

if(@!copy($_FILES['UserFile']['tmp_name'],$path.chr(47).$_FILES['UserFile']['name'])) 

// Если не удалось перенести файл, выводим ошибку: 

die("<b><font color=red>Файл не был загружен! Попробуйте <a href=&#63;>повторить попытку</a>!</font></b>"); 

// Если всё Ok, то выводим инфо. о загружённом файле. 

else 
echo 
"<center><b>Файл \"<font color=red>".$_FILES['UserFile']['name']."\"</font> успешно загружён на сервер!</font></b></center>"
"<hr>"
"Тип файла: <b>".$_FILES['UserFile']['type']."</b><br>"
"Размер файла: <b>".round($_FILES['UserFile']['size']/1024,2)." кб.</b>"
"<hr><center><a href=&#63;>Загрузить ещё один файл!</a></center>"

?> 

На сервере и на локалке одно и тоже не работает, выставлено 15 mb макс разреш размер файлов.
Подскажите плизз что может быть!!!

   
 
 автор: dert   (19.01.2007 в 13:03)   письмо автору
 
   для: spyder   (19.01.2007 в 13:00)
 

попробуйте использовать функцию set_time_limit() , это функция времени работы PHP-скрипта, значение в секундах

   
 
 автор: Spyder   (19.01.2007 в 13:04)   письмо автору
 
   для: dert   (19.01.2007 в 13:03)
 

Неочень понял про функцию, для чего?

   
 
 автор: malish   (19.01.2007 в 13:15)   письмо автору
 
   для: Spyder   (19.01.2007 в 13:04)
 

у каждого скрипта есть макс. время выполнения по истечении которого выполнение скрипта останавливается автоматом... может просто не успевает твой скрипт загрузить 8 метров в отведенный ему промежуток времени... а эта функция позволяет утановить время выполнения вручную.. тока не все хостеры разрешают ею пользоваться

   
 
 автор: Spyder   (19.01.2007 в 13:26)   письмо автору
 
   для: malish   (19.01.2007 в 13:15)
 

дак у меня даже на локалке не хочет грузить.
А куда нужно вставлять set_time_limit();
В самый верх?

   
 
 автор: dert   (19.01.2007 в 13:41)   письмо автору
 
   для: Spyder   (19.01.2007 в 13:26)
 

да вверх, в скобках число секунд к примеру set_time_limit(3000);

   
 
 автор: malish   (19.01.2007 в 13:43)   письмо автору
 
   для: Spyder   (19.01.2007 в 13:26)
 

еще желательно проверить значение upload_max_filesize (максимальный размер загружаемого файла) выставляется в файле настроек php.ini.

   
 
 автор: Spyder   (19.01.2007 в 13:46)   письмо автору
 
   для: malish   (19.01.2007 в 13:43)
 

там стоит 15 метров.

   
 
 автор: malish   (19.01.2007 в 13:52)   письмо автору
 
   для: Spyder   (19.01.2007 в 13:46)
 

ошибки выдает какие нить?? убери @ перед вызовом copy можь там че не так...

   
 
 автор: Trianon   (19.01.2007 в 13:58)   письмо автору
 
   для: Spyder   (19.01.2007 в 13:46)
 

напечатайте массив $_FILES . Весь. С помощью print_r().

   
 
 автор: Spyder   (19.01.2007 в 14:05)   письмо автору
 
   для: Trianon   (19.01.2007 в 13:58)
 

Ошибки не выдает.
Ничего не пишет.
Он просто перезагружается и все(таже форма)!!!

   
 
 автор: cheops   (19.01.2007 в 14:23)   письмо автору
 
   для: spyder   (19.01.2007 в 13:00)
 

Какое значение директивы post_max_size?

   
 
 автор: Spyder   (19.01.2007 в 14:27)   письмо автору
 
   для: cheops   (19.01.2007 в 14:23)
 

Ураааааааа.....
Спасибо Cheops, огромное спасибо.
Всем спасибо!!!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования