[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Загрузка файлов
XCross

<form action="" method="post" enctype="multipart/form-data">
<
input type="file" name="uploadfile">
<
input type="submit" name="up_img" value="Загрузить">
</
form>
<
font color="red">
<?php
if (isset($errors)){
echo implode('<br>', $errors) .'<br>';
}
?>
</font>




<?php





if(isset($_POST['up_img'])){

$img = new img_up();
$img->upload_dir='../images/';


if($img->move($_FILES['uploadfile']['tmp_name'],$_FILES['uploadfile']['name']) == 0){

$errors=array();
$errors[]='Файл не загружен!';

}
else{

$errors=array();
$errors[]='Файл успешно загружен! <br> Ссылка на файл: '.$img->upload_file;

}


}





class img_up {

var $upload_dir;
var $upload_file;
private $file_name;
private $new_name;


function move($file, $new_name){

$this->file_name=$file;
$this->new_name=$new_name;

if(!copy($this->file_name, $this->upload_dir.$this->new_name)){

return 0;
}
else{
$this->upload_file=$this->new_name;
return 1;

}

}


}

?>





Незнаю правильно ли написал или нет(я в плане стандартов), но скрипт работает. Это только для примера. Это не рабочая моя версия. Вообщем в случае ошибки или удачи загрузки файла сообщение не выводится. Пока немог понять почему. У кого время есть посмотрите че я упустил. :)



Спустя 1 час, 14 минут, 22 секунды (14.05.2011 - 21:27) Игорь_Vasinsky написал(а):
может вот этоу проверку:
$_FILES['uploadfile']['name']) == 0

заменить на

!isset($_FILES['uploadfile']['name']);

Спустя 3 минуты, 50 секунд (14.05.2011 - 21:31) neadekvat написал(а):
1. Табы в листинге на форуме - это жесть. У меня все расползлось.

2. Логика: ошибки выводятся ДО того, как заполняются. В скриптовом языке, где события происходят сверху вниз, без функций и классов это невозможно.

3. copy - табу для загрузки файлов. У вас может не быть прав для доступа во временный каталог, в котором хранится загруженный файл. Есть функция move_uploaded_file. Ее используйте.

В остальном - для чего здесь класс?

Спустя 8 часов, 48 минут, 31 секунда (15.05.2011 - 06:19) XCross написал(а):
Пока не для чего. Это лишь пробный. Хочу прикрутить сюда изменение размера загруженной картинки а заодно и проверки.

Спустя 1 час, 11 минут, 36 секунд (15.05.2011 - 07:31) neadekvat написал(а):
Цитата (kmaks @ 15.05.2011 - 07:19)
Пока не для чего. Это лишь пробный.

Не, ты не понял вопроса: суть в том, чтобы попрактиковаться в ООП или чтобы попрактиковаться в корректной загрузке файлов?
Судя по тому, что я увидел, тебе стоит начать со второго. А уж потом, зная нюансы, писать первое.
Невомзожно научиться водить на машине, если тебя прям на дороге надо еще ПДД обучать.


_____________
Обмен Ukash на WebMoney
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.