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

Форум PHP

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

 

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

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

тема: Проверка файлов на расширение.
 
 автор: гость   (13.01.2005 в 01:07)
 
 

Помогите пожалуйста мне нужно вставить в этот код то чтобы загружаемые файлы были только с расширением jpg и не более 20kb и размер картинки не больше 300 на 300 пикселей , но только чтоб не resize делал.
вот код не весь.
<?php
if($doupload) {
$num 0;
while(
$num '3') {
$num++;
$path ="galleries/user/";

$type1 "fileup$num"."_type";
$type = $$type1;
$size1 "fileup$num"."_size";
$size = $$size1;
$picture "fileup$num"."_name";
$name = $$picture;
$picture2 "fileup$num";
$tmpname = $$picture2;
if(
$tmpname != "none") {
$minfilesize filesize($tmpname);
$ok 1;
if(
$minfilesize 10) {
$error .= "Ошибка! Размер файла $num меньше допустимого.<BR>";
$ok 2;
}

if(
file_exists($path."$name") OR $ok == 2) {
 
$error .="Замените файл в $num ячейке. Уже есть файл с таким именем. <BR>";
 } else {
copy ($tmpname$path."$name");
$error .="Файл $num загружен.<BR><img src=\"$path$name\"><BR>";
}
}
if(!
$error) {
$error .= "Не выбраны файлы для загрузки<BR>";
}
}
}
?>

   
 
 автор: cheops   (13.01.2005 в 12:41)   письмо автору
 
   для: гость   (13.01.2005 в 01:07)
 

Вопрос - это происходит загрузка из формы? Тогда тип загружаемого файла можно узнать обратившись к элементу суперглобального массива $_FILES['filename']['type'], где filename - имя поля типа file в HTML-форме.
Для того, чтобы размер файла был не больше 20 Кб следуе использовать условие
<?php
  
if($_FILES['filename']['file'] < 20*1024) {
?>

   
 
 автор: glsv (Дизайнер)   (13.01.2005 в 22:07)   письмо автору
 
   для: гость   (13.01.2005 в 01:07)
 

Для того чтобы получить размер загруженых файлов можно воспользоваться функцией
getimagesize()

<?
$img 
"my_image.jpg";
$size getimagesize($img);
echo 
$size[0]." - ширина <br>";
echo 
$size[1]." - высота<br>";
echo 
$size[2]." - тип <br>";
?>


В элементе массива $size[2] содержится тип файла. Вот коды типов файлов, которые Вам могут понадобится:

1 - IMAGETYPE_GIF
2 - IMAGETYPE_JPEG
3 - IMAGETYPE_PNG


И далее нужно проверять значение этих массивов и осуществлять проверку. Например так.

<?
 
if ($size[0]>300
 {
   echo 
"Ошибка! Изображение превышает размер 300 пикселей по ширине";
   exit();
 }
?> 

   
Rambler's Top100
вверх

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