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

Форум PHP

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

 

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

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

тема: Загрузка изображений. Проблема с путем.
 
 автор: ramundo   (29.03.2014 в 18:26)   письмо автору
 
 

 <?php 
 date_default_timezone_set
('Europe/Moscow');
 
/**  
 * Function of uploaded of a file   
 * Функция загрузки файла (аплоадер)  
 * @param  int    $max_file_size    максимальный размер файла в килобайтах  
 * @param  array  $valid_extensions массив допустимых расширений  
 * @param  string $upload_dir       директория загрузки  
 * @return array                    сообщение о ходе выполнения  
 **/  
    
    
function uploadHandle($max_file_size 100$valid_extensions = array(), $upload_dir '.'$normal ''$small_w ''$small_h '')  
    {  
      
        
$result 0;
        
$error null;  
        
$info  null;  
        
$max_file_size *= 1024;  

        if (
$_FILES['filename']['error'] === UPLOAD_ERR_OK)  
        {  
            
// проверяем расширение файла  
            
$file_extension pathinfo($_FILES['filename']['name'], PATHINFO_EXTENSION);  
            if (
in_array($file_extension$valid_extensions))  
            {  
                
// проверяем размер файла  
                
if ($_FILES['filename']['size'] < $max_file_size)  
                {  
                    
// Вырезаем разные знаки
                    
$_FILES["filename"]["name"] = translit($_FILES["filename"]["name"]);
                    
                    
$destination getcwd().$upload_dir .$_FILES['filename']['name'];  
                    
                    if (
copy($_FILES['filename']['tmp_name'], $destination)) {  

                        
$what getimagesize$_FILES['filename']['tmp_name']);
                        
// параметры файла
                        
if ($what['mime'] == 'image/gif')
                            
$o_im imageCreateFromGIF($_FILES['filename']['tmp_name']) ;
                        if (
$what['mime'] == 'image/jpeg')
                            
$o_im imageCreateFromJPEG($_FILES['filename']['tmp_name']) ;
                        if (
$what['mime'] == 'image/png')
                            
$o_im imageCreateFromPNG($_FILES['filename']['tmp_name']) ;

                        
$width imagesx($o_im);
                        
$height imagesy($o_im);

                        
// Делаем маленькую картинку
                        
if (!empty($small_w) and !empty($small_h)) {
                            if (
$width $height and $height $small_h){
                                
$newwidth $small_w;
                                
$newheight round($height $newwidth $width) ;
                            }
                            else{
                                
$newheight $small_h;
                                
$newwidth round($width $newheight $height) ;
                            }
                            
$t_im imageCreateTrueColor($newwidth,$newheight);
                            
imageCopyResampled($t_im$o_im0000$newwidth$newheight$width$height);
                            
imageJPEG($t_im$upload_dir .'small_' $_FILES['filename']['name'],90);
                        }
                        
                        
// Стандартная картинка
                        
if (!empty($normal)) {
                            if (
$width >= $normal){
                                
$newwidth $normal;
                                
$newheight round($height $newwidth $width) ;
                            }
                            else{
                                
$newheight $height;
                                
$newwidth $width ;
                            }

                            
$t_im imageCreateTrueColor($newwidth,$newheight);
                            
imageCopyResampled($t_im$o_im0000$newwidth$newheight$width$height);
                            
imageJPEG($t_im$upload_dir .'normal_' $_FILES['filename']['name'],90);
                        }
                        
                        
imageDestroy($o_im);
                        
imageDestroy($t_im);

                    } else  
                        
$error 'Не удалось загрузить файл - '.$destination.' ';  
                }   
                else  
                    
$error 'Размер файла больше допустимого';  
            }   
            else  
                
$error 'У файла недопустимое расширение';  
        }   
        else  
        {  
            
// массив ошибок  
            
$error_values = array( 

                
UPLOAD_ERR_INI_SIZE   => 'Размер файла больше разрешенного директивой upload_max_filesize в php.ini',
                
UPLOAD_ERR_FORM_SIZE  => 'Размер файла превышает указанное значение в MAX_FILE_SIZE'
                
UPLOAD_ERR_PARTIAL    => 'Файл был загружен только частично',   
                
UPLOAD_ERR_NO_FILE    => 'Не был выбран файл для загрузки',   
                
UPLOAD_ERR_NO_TMP_DIR => 'Не найдена папка для временных файлов',   
                
UPLOAD_ERR_CANT_WRITE => 'Ошибка записи файла на диск' 

                                  
);  
      
            
$error_code $_FILES['filename']['error'];  
      
            if (!empty(
$error_values[$error_code]))  
                
$error $error_values[$error_code];  
            else  
                
$error 'Случилось что-то непонятное';  
        }  
      
        return array(
'info' => $info'error' => $error);  
    }  
      
    function 
translit($str) {
        
$tr = array(
            
"А"=>"A","Б"=>"B","В"=>"V","Г"=>"G",
            
"Д"=>"D","Е"=>"E","Ж"=>"J","З"=>"Z","И"=>"I",
            
"Й"=>"Y","К"=>"K","Л"=>"L","М"=>"M","Н"=>"N",
            
"О"=>"O","П"=>"P","Р"=>"R","С"=>"S","Т"=>"T",
            
"У"=>"U","Ф"=>"F","Х"=>"H","Ц"=>"TS","Ч"=>"CH",
            
"Ш"=>"SH","Щ"=>"SCH","Ъ"=>"","Ы"=>"YI","Ь"=>"",
            
"Э"=>"E","Ю"=>"YU","Я"=>"YA","а"=>"a","б"=>"b",
            
"в"=>"v","г"=>"g","д"=>"d","е"=>"e","ж"=>"j",
            
"з"=>"z","и"=>"i","й"=>"y","к"=>"k","л"=>"l",
            
"м"=>"m","н"=>"n","о"=>"o","п"=>"p","р"=>"r",
            
"с"=>"s","т"=>"t","у"=>"u","ф"=>"f","х"=>"h",
            
"ц"=>"ts","ч"=>"ch","ш"=>"sh","щ"=>"sch","ъ"=>"y",
            
"ы"=>"yi","ь"=>"'","э"=>"e","ю"=>"yu","я"=>"ya",
            
" "=>"_","?"=>"_","/"=>"_","\\"=>"_",
            
"*"=>"_",":"=>"_","*"=>"_","\""=>"_","<"=>"_",
            
">"=>"_","|"=>"_"
        
);
        return 
strtr($str,$tr);
    }
    
    
// Запускаем функцию  
if(isset($_POST['upload'])) {      
    
$valid_extensions = array('jpg''jpeg''png''gif''JPG''JPEG''PNG''GIF');  
    
$upload_dir "/images/";  
    
$message uploadHandle(1024$valid_extensions $upload_dir,450,125,90);  
}
else {
echo 
"не сработало";
}


?>


При загрузке выдается ошибка:

Warning: imagejpeg(): Unable to open '/images/small_1266854097_45290869_k29.jpg' for writing: No such file or directory in D:\usr\mosts\site\www1\fnc_add_img.php on line 60 Warning: imagejpeg(): Unable to open '/images/normal_1266854097_45290869_k29.jpg' for writing: No such file or directory in D:\usr\mosts\site\www1\fnc_add_img.php on line 76

  Ответить  
 
 автор: confirm   (31.03.2014 в 05:18)   письмо автору
 
   для: ramundo   (29.03.2014 в 18:26)
 

И где вы только выковыриваете этот смрад...

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

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