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

Форум PHP

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

 

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

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

тема: Не могу разобраться с загрузкой файлов на сервер.
 
 автор: CassIO   (08.04.2008 в 06:20)   письмо автору
 
 

В общем есть форма выбора файла, который будет закгружен на сервер.
Так же есть скрипт который сначала проверяет размер файла и потом загружает его на сервер. Вот код, не судите строго ) Просто накидал...

<?
    $limit_size
=50;
    
    
$path"uploads/".$_FILES['ufile']['name'];
    
    if (
$ufile !=none) {
        
$file_size $_FILES['ufile']['size'];
    
        if (
$file_size $limit_size) {
            echo 
"Размер вашего файла привысил допустимый лимит<BR>";
            echo 
"Размер вашего файла = ".$file_size." K";
            echo 
"<BR>Лимит = $limit_size k";
        } else {
            if(
copy($_FILES['ufile']['tmp_name'], $path)) {
                echo 
"Файл успешно загружен"
            } else {
                echo 
"Ошибка загрузки";
            }
        }
    }
?>


Беда в том что проверка на размер файла не всегда срабатывает...вот стоит у меня ограничение допустим в 50 килобайт, если файл допустим 200 килобайт то вылазиет ошибка типа я привысил допустимый размер файла. А если файл уже 1,2,3 и больше мегабайт, то ему пофигу на условие проверки, и он начинает грузить файл, но во время загрузки файла, вылазиет ошибка Ошибка загрузки.

Что делать? Кто поможет?

   
 
 автор: DJ Paltus   (08.04.2008 в 12:36)   письмо автору
 
   для: CassIO   (08.04.2008 в 06:20)
 

Ну загружать-то он файл все равно будет, так как размер файла определяется сервером на месте, когда файл уже там.
А ошибка выпадает на больших файлах - это сервер отказывается долгий запрос вести. Я как раз с этой проблемой бьюсь.

   
 
 автор: CassIO   (09.04.2008 в 05:03)   письмо автору
 
   для: DJ Paltus   (08.04.2008 в 12:36)
 

Ну больше файлы действенней загружать при помощи аякса. У меня было ограничение в 2 мегабайта, поправил на 100 ) Заработало ))) Но потом все равно надо было ограничить размер файла в 2 мегабайта...пришлось делать вот че:


<?

if (isset($_FILES['filename'])) {
                    
$max_size 2097152;
                    
$foto_name $_FILES["filename"]["name"];
                
                    
// Проверка расширения файла
                    
if ((!$_FILES["filename"]["type"] == "image/gif") OR (!$_FILES["filename"]["type"] == "image/jpeg")) {
                    
                        
$errors .= "Фотография может быть только в форамте JPEG или GIF";
                        
                    } else {
                        
$counter $counter 1;
                        
// Проверка размера файла
                        
if ($_FILES["filename"]["size"] > $max_size) {
                            
                            
$errors .= "Превышен допустимый размер загрузки файла.<br />";
                        
                        } else {
                            
$counter $counter 1;
                            
// Ну и если все ок, то загружаем файл на сервер
                            
if (copy($_FILES["filename"]["tmp_name"], "uploads/".$_FILES["filename"]["name"])) {
                                
                                
$top .= "Фотография успешно загружена.<br />";
                                
                            } else {
                            
                                
$top .= "Фотография не загружена.<br />";
                                
                            }
                        
                        }
                    }
                }
?>


Но что то мне не сильно нравится так делать, т.к. файл сначала на сервер уйдет в любом случае, потом проверится на размер, расширение и только потом он ляжет в дерикторию есл все нормально!

   
Rambler's Top100
вверх

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