Помощник
|
Загрузка файла на сервер |
sc2r2bey
|
Сообщение
#1
|
||
|
|
||
|
|||
gaaarfild |
11.12.2010, 18:08;
Ответить: gaaarfild
Сообщение
#2
|
|
Кроме этого параметра есть еще параметр не помню точно, как-то так
max_post_size = 2mb. Вот его тоже поправь. |
|
|
panika |
11.12.2010, 18:15;
Ответить: panika
Сообщение
#3
|
|
Пользуйтесь табуляцией TAB в редакторе, чтобы понимать в какой части кода что находиться.
[php]if(( $_FILES['file']['error'] == 0 )){ if(( $_FILES['file']['size']<8192000 )){ $uploaddir = '../../doc/'; $uploadfile = $uploaddir . basename( $_FILES['file']['name'] ); echo '<pre>'; if( move_uploaded_file( $_FILES['file']['tmp_name'], $uploadfile ) ){ echo "Файл успшно загружен."; }else{ echo "Ошибка загрузки загрузки."; } echo 'Отладочная информация:'; print_r($_FILES); print "</pre>"; }else{ echo "Размер принятого файла превысил максимально допустимый размер администратором сайта."; } }[/php] Если бы Отладочная информация выдавалась в после оператора else тогда бы только при превышении размера это информация выводилась в браузер. А то что вы написали Файл успешно загружен еще не означает что код не будет продолжать выполняться. Размер принятого файла превысил максимально допустимый размер администратором сайта Это из раздела Юмор, какой плохой администратор превысил допустимый размер. |
|
|
ZiTosS |
11.12.2010, 23:50;
Ответить: ZiTosS
Сообщение
#4
|
|
marker, вы невнимательно прочитали, спрашивают почему файл размером больше 8мб проходит условие ограничения по размеру.
surfer, подебаж: выведи на экран для себя значение $_FILES['file']['size'], соответствует ли оно действительности. Всё же это просто проверяется. Раз условие не выполняется, значит $_FILES['file']['size'] имеет невалидное значение. |
|
|
sc2r2bey
|
Сообщение
#5
|
|
дык думаю что апач падает щас систему переустановил попробую чо буит
-------------------- программирую web и для we |
|
|
panika |
12.12.2010, 1:14;
Ответить: panika
Сообщение
#6
|
|
операционную систему? :rolleyes:
извиняюсь за оффтоп з.ы.: если бы мне при столкновении с проблемой постоянно переустанавливать ос все бы закончилось суицидом. |
|
|
sc2r2bey
|
Сообщение
#7
|
|
surfer, подебаж: выведи на экран для себя значение $_FILES['file']['size'], соответствует ли оно действительности. Всё же это просто проверяется. Раз условие не выполняется, значит $_FILES['file']['size'] имеет невалидное значение. я же в первом посте писал, что выдает Array() и все, а почему не могу понять -------------------- программирую web и для we |
|
|
panika |
12.12.2010, 11:40;
Ответить: panika
Сообщение
#8
|
|
print_r( $_FILES );
|
|
|
ZiTosS |
12.12.2010, 14:16;
Ответить: ZiTosS
Сообщение
#9
|
|
surfer, правильно говорят, только лучше ещё добавить в pre, сразу увидим разницу:
1) Загрузка одного файла - в одиночной форме записи имени: форма <form action='' method='post' enctype='multipart/form-data'> <input type='file' name='file'> <input type='submit' value='Загрузить'> </form> результат $_FILES Array ( [file] => Array ( [name] => index.php [type] => application/octet-stream [tmp_name] => C:\Windows\Temp\phpD261.tmp [error] => 0 [size] => 273 ) ) 2) Загрузка двух файлов - каждому полю указывается отдельное имя: форма <form action='' method='post' enctype='multipart/form-data'> <input type='file' name='file1'> <input type='file' name='file2'> <input type='submit' value='Загрузить'> </form> результат $_FILES Array ( [file1] => Array ( [name] => index.php [type] => application/octet-stream [tmp_name] => C:\Windows\Temp\phpFE90.tmp [error] => 0 [size] => 273 ) [file2] => Array ( [name] => regular.php [type] => application/octet-stream [tmp_name] => C:\Windows\Temp\phpFEA1.tmp [error] => 0 [size] => 152 ) ) 3) Загрузка одного файла - имя поля в форме массива файлов: форма <form action='' method='post' enctype='multipart/form-data'> <input type='file' name='file[]'> <input type='submit' value='Загрузить'> </form> результат $_FILES Array ( [file] => Array ( [name] => Array ( [0] => index.php ) [type] => Array ( [0] => application/octet-stream ) [tmp_name] => Array ( [0] => C:\Windows\Temp\phpB237.tmp ) [error] => Array ( [0] => 0 ) [size] => Array ( [0] => 273 ) ) ) 4) Загрузка двух файлов - имена полей в форме массива файлов: форма <form action='' method='post' enctype='multipart/form-data'> <input type='file' name='file[]'> <input type='file' name='file[]'> <input type='submit' value='Загрузить'> </form> результат $_FILES Array ( [file] => Array ( [name] => Array ( [0] => index.php [1] => regular.php ) [type] => Array ( [0] => application/octet-stream [1] => application/octet-stream ) [tmp_name] => Array ( [0] => C:\Windows\Temp\php1261.tmp [1] => C:\Windows\Temp\php1262.tmp ) [error] => Array ( [0] => 0 [1] => 0 ) [size] => Array ( [0] => 273 [1] => 152 ) ) ) Посмотри разницу когда мы используем разные имена файлов (file1, file2), а когда используем форму записи массива файлов (file[]) |
|
|
sc2r2bey
|
Сообщение
#10
|
|
вы меня за идиота считаете или читать не умеет, я же написал в таких ситуациях, т.е. при печати $_FILES
выдает: Array ( ) или в 4-й раз на китайском вам написать? вот форма: [php]<form action="upload.php" method="post" enctype="multipart/form-data"> <p>Файл для загрузки: <input type="file" name="file" /> <input type="submit" name="add" value="загрузить" /> </p> </form>[/php] вот загрузчик [php]<?php // проверяем, что при загрузке был выбран файл if(!$_FILES['file']['error']) { // устанавливаем максимально допустимый размер загружаемого файла // (можно предусмотреть задание в конфигурацинном файле, т.е. в ручную). if(($_FILES['file']['size']<8192000)) { // устанавливаем папку загрузки $uploaddir = '../../doc/'; // устанавливаем имя файла $uploadfile = $uploaddir . basename($_FILES['file']['name']); echo '<pre>'; // загружаем файл и перемещаем в заданную директорию if(!is_resource(zip_open($_FILES['file']['tmp_name']))) { die("Загруженный файл не является ZIP-архивом"); } else { if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) { echo "Файл успшно загружен."; } else { echo "Ошибка загрузки загрузки."; } } echo 'Отладочная информация:'; print_r($_FILES); print "</pre>"; } else { echo "Размер принятого файла превысил максимально допустимый размер администратором сайта."; } } else { echo "Ошибка загрузки загрузки: ".ErrorUpload($_FILES['file']['error']); } // функция определения ошибки загрузки файла function ErrorUpload($fileerror) { // создаем массив ошибок $err = array( 0=>"Ошибок не возникало, файл был успешно загружен на сервер.", 1=>"Размер принятого файла превысил максимально допустимый размер, который задан директивой upload_max_filesize конфигурационного файла php.ini.", 2=>"Размер загружаемого файла превысил значение MAX_FILE_SIZE, указанное в HTML-форме.", 3=>"Загружаемый файл был получен только частично.", 4=>"Файл не был загружен.", 6=>"Отсутствует временная папка.", 7=>"Отказ в записи файла на диск.", 8=>"Расширение PHP остановило загрузку файла." ); // возврашаем ошибку return $err[$fileerror]; } ?>[/php] небольшие файлы грузит хорошо, а вот условия что указаны вверху вот такая хрень -------------------- программирую web и для we |
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
BuxarVideoUploader - Автоматическое скачивание и загрузка видео из любых/ на любые видео хостинги (YouTube, TikTok, Instagram, Facebook, Яндекс Дзен, Вконтакте, Одноклассники, Rutube, Dailymotion, d.tube, Telegram и т.д. | 0 | BuxarNET | 1223 | 19.7.2023, 5:58 автор: BuxarNET |
|
Сервер для поднятия proxy ipv4 | 3 | Panameira | 2710 | 13.11.2018, 4:24 автор: zkalinin |
|
Загрузка фотографий на сайте. | 8 | Napoleon-007 | 1765 | 5.3.2018, 10:51 автор: Evgeniy3200 |
|
RegVPS.ru - Надежный VPS/VDS сервер на SSD от 3.95 usd! | 0 | Regvpsru | 1790 | 2.12.2017, 22:23 автор: -Regvpsru- |
|
Нужно написать Api сервер для мобильного приложения | 0 | Ksardas777 | 1683 | 7.9.2016, 11:34 автор: Ksardas777 |
Текстовая версия | Сейчас: 18.4.2024, 14:53 |