|
|
|
| подскажите пожалуйста где здесь ошибка!уже все глаза просмотрел!
<?php
$root = "home/www/zag/images";
$urlroot = "http://localhost/www/zag/images";
$max_width=420;
$max_height=600;
$overwrite_images=false;
$target_dirs=array("article","banners");
if(!function_exists(getimagesize))
{
die("getimagesize() required.");
}
$location=strval($_POST['location']);
$newname=strval($_POST['newname']);
$upfile=$_FILES['upfile'] ['tmp_name'];
$upfile_name=$_FILES['upfile'] ['name'];
/*удаляем ненужные символы*/
if($newname)
{
$newname= preg_replace('/[^A-Za-Z0-9_.-]/', '', $newname);
}
else
{
$newname= preg_replace('/[^A-Za-Z0-9_.-]/', '', $upfile_name);
}
/*проверка параметров*/
if(!in_array($location,$target_dirs))
{
die("отсутствует целевой подкаталог");
}
else
{
$urlroot .="/$location";
}
if(!$upfile)
{
die ("нет файла для загрузки.");
}
/*проверка типов файлов*/
$file_types=array
("image/jpeg"=>"jpg",
"image/pjpeg"=>"jpg",
"image/gif"=>"gif",
"image/png"=>"png",
);
$width=null;
$height=null;
/*извлекаем MIME-тип и имя изображения*/
$img_info=getimagesize($upfile);
$upfile_type=$img_info["mime"];
list($width,$height,$t,$attr)=$img_info;
/*проверка типа*/
if(!$file_types[$upfile_type])
{
die("изображение должно быть правильного форомата");
}
else
{
$file_suffix=$file_types[$upfile_type];
}
/*проверка размеров*/
if($width > $max_width || $height > $max_height)
{
die("размер $width x $height превышает максимально-разрешенный $max_width x $max_height.");
}
/*определяем имя изображения*/
$newname=preg_replace('/\.(jpe?g|gif|png)$/i', "");
$newname .=$file_suffix;
$new_fullpath="$root/$location/$newname";
/*Теперь,когда у нас есть окончательное имя файла, мы можем проверить не существует уже такое же имя файла на сервере,если файл существует мы не будем его перезаписывать.
*/
if((!$overwrite_images) && file_exists($new_fullpath))
{
die("файл уже существует! будет сохранён без перезаписи");
}
/*копируем файлы и целевой каталог*/
if(!copy($upfile,$new_fullpath))
{
die("ошибка копирования");
}
$image_url="$urlroot/$newname";
/*----------------------*/
print "html for image:</strong><br><textarea cols=\"80\" rows=\"4\">";
print "img src=\"$image_url\" $attr alt=\"$upfile_name\" border=\"0\"/>";
print "</textarea><br>";
print 'a href="upload.html">загрузить ещё</a>';
?>
----------------------------------
вот што пишет
Notice: Use of undefined constant getimagesize - assumed 'getimagesize' in z:\home\localhost\www\zag\image_process.php on line 10
Warning: Compilation failed: range out of order in character class at offset 7 in z:\home\localhost\www\zag\image_process.php on line 21
Warning: Wrong parameter count for preg_replace() in z:\home\localhost\www\zag\image_process.php on line 69
Warning: copy(home/www/zag/images/banners/jpg): failed to open stream: No such file or directory in z:\home\localhost\www\zag\image_process.php on line 79
ошибка копирования | |
|
|
|
|
|
|
|
для: avgyst
(17.01.2010 в 18:59)
| | Текст ошибок читали? И что думаете по этому поводу? | |
|
|
|
|
|
|
|
для: neadekvat
(17.01.2010 в 19:21)
| | ну што то не правильно наверное!просто я данный скрипт воплотил из учебника!переписал точ в точ!а што не правильно понятия не имею!((((( | |
|
|
|
|
|
|
|
для: avgyst
(17.01.2010 в 19:27)
| | А с английским языком у нас как?
Плохо? Тогда сюда и переводим каждый текст ошибки.
Там ВСЁ написано | |
|
|
|
|
|
|
|
для: avgyst
(17.01.2010 в 19:27)
| | Это с какого такого учебника? Зачем проверять вообще наличие getimagesize? | |
|
|
|
|
|
|
|
для: avgyst
(17.01.2010 в 18:59)
| | if(!function_exists(getimagesize)) фтопку. Заменить на
if(!function_exists('getimagesize'))
второе не понял...
На preg_replace ругаться не должен...
Файла в папке в конце-концов не оказывается... | |
|
|
|
|
|
|
|
для: ~AquaZ~
(17.01.2010 в 20:00)
| | if(!function_exists('getimagesize')) - зачем? | |
|
|
|
|
|
|
|
для: sim5
(17.01.2010 в 20:07)
| | Зачем незнаю, я просто заменил константу на строку. | |
|
|
|
|
|
|
|
для: ~AquaZ~
(17.01.2010 в 20:30)
| | Смысла в проверки наличия этой функции нет ни какого. А о синтаксисе нужно в первоисточнике читать, а не в сомнительных учебниках, если это действительно из учебника. | |
|
|
|
|
|
|
|
для: sim5
(17.01.2010 в 20:33)
| | не сомневайтесь уважаемый это из учебника!я ещё умею отличать учебник от газеты!учебник этот "Самоучитель 75 готовых решений для вашего сайта на php!и он есть на этом сайте!" | |
|
|
|
|
|
|
|
для: avgyst
(17.01.2010 в 20:36)
| | Выбросите вы тогда этот учебник, хотя бы на время, зайдите на официальный сайт, и почитайте в мануале примеры того, как производится загрузка файлов на сервер. | |
|
|
|
|
|
|
|
для: sim5
(17.01.2010 в 20:39)
| | мне не нужен этот загрузчик!да я хочу разобраться в чём ошибка то!и пришёл сюда за помощью! | |
|
|
|
|
|
|
|
для: avgyst
(17.01.2010 в 20:43)
| | Ну тогда почитайте мануал, в котором написано:
bool function_exists (string function_name).
Вот только проверять наличие этой функции глупо. Проверка расширения файлов (в скрипте), это тоже не весть что. Я бы такого не стал делать, потому и выбросил бы этот пример. Но коли надо, значит надо.
Скрипт надо обрамлять тегами [сode][/сode], читать трудно, да еще длинный. | |
|
|
|
|
|
|
|
для: sim5
(17.01.2010 в 20:47)
| | понятно!благодарю за помощь! | |
|
|
|