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

Форум PHP

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

 

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

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

тема: загрузка на сервер
 
 автор: avgyst   (17.01.2010 в 18:59)   письмо автору
 
 

подскажите пожалуйста где здесь ошибка!уже все глаза просмотрел!
<?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
ошибка копирования

  Ответить  
 
 автор: neadekvat   (17.01.2010 в 19:21)   письмо автору
 
   для: avgyst   (17.01.2010 в 18:59)
 

Текст ошибок читали? И что думаете по этому поводу?

  Ответить  
 
 автор: avgyst   (17.01.2010 в 19:27)   письмо автору
 
   для: neadekvat   (17.01.2010 в 19:21)
 

ну што то не правильно наверное!просто я данный скрипт воплотил из учебника!переписал точ в точ!а што не правильно понятия не имею!(((((

  Ответить  
 
 автор: neadekvat   (17.01.2010 в 19:37)   письмо автору
 
   для: avgyst   (17.01.2010 в 19:27)
 

А с английским языком у нас как?
Плохо? Тогда сюда и переводим каждый текст ошибки.
Там ВСЁ написано

  Ответить  
 
 автор: sim5   (17.01.2010 в 19:40)   письмо автору
 
   для: avgyst   (17.01.2010 в 19:27)
 

Это с какого такого учебника? Зачем проверять вообще наличие getimagesize?

  Ответить  
 
 автор: ~AquaZ~   (17.01.2010 в 20:00)   письмо автору
 
   для: avgyst   (17.01.2010 в 18:59)
 

if(!function_exists(getimagesize)) фтопку. Заменить на
if(!function_exists('getimagesize'))

второе не понял...

На preg_replace ругаться не должен...

Файла в папке в конце-концов не оказывается...

  Ответить  
 
 автор: sim5   (17.01.2010 в 20:07)   письмо автору
 
   для: ~AquaZ~   (17.01.2010 в 20:00)
 

if(!function_exists('getimagesize')) - зачем?

  Ответить  
 
 автор: ~AquaZ~   (17.01.2010 в 20:30)   письмо автору
 
   для: sim5   (17.01.2010 в 20:07)
 

Зачем незнаю, я просто заменил константу на строку.

  Ответить  
 
 автор: sim5   (17.01.2010 в 20:33)   письмо автору
 
   для: ~AquaZ~   (17.01.2010 в 20:30)
 

Смысла в проверки наличия этой функции нет ни какого. А о синтаксисе нужно в первоисточнике читать, а не в сомнительных учебниках, если это действительно из учебника.

  Ответить  
 
 автор: avgyst   (17.01.2010 в 20:36)   письмо автору
 
   для: sim5   (17.01.2010 в 20:33)
 

не сомневайтесь уважаемый это из учебника!я ещё умею отличать учебник от газеты!учебник этот "Самоучитель 75 готовых решений для вашего сайта на php!и он есть на этом сайте!"

  Ответить  
 
 автор: sim5   (17.01.2010 в 20:39)   письмо автору
 
   для: avgyst   (17.01.2010 в 20:36)
 

Выбросите вы тогда этот учебник, хотя бы на время, зайдите на официальный сайт, и почитайте в мануале примеры того, как производится загрузка файлов на сервер.

  Ответить  
 
 автор: avgyst   (17.01.2010 в 20:43)   письмо автору
 
   для: sim5   (17.01.2010 в 20:39)
 

мне не нужен этот загрузчик!да я хочу разобраться в чём ошибка то!и пришёл сюда за помощью!

  Ответить  
 
 автор: sim5   (17.01.2010 в 20:47)   письмо автору
 
   для: avgyst   (17.01.2010 в 20:43)
 

Ну тогда почитайте мануал, в котором написано:

bool function_exists (string function_name).

Вот только проверять наличие этой функции глупо. Проверка расширения файлов (в скрипте), это тоже не весть что. Я бы такого не стал делать, потому и выбросил бы этот пример. Но коли надо, значит надо.

Скрипт надо обрамлять тегами [сode][/сode], читать трудно, да еще длинный.

  Ответить  
 
 автор: avgyst   (17.01.2010 в 20:54)   письмо автору
 
   для: sim5   (17.01.2010 в 20:47)
 

понятно!благодарю за помощь!

  Ответить  
Rambler's Top100
вверх

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