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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Случайный вывод из ображений из директорий

Сообщения:  [1-10]   [11-20] 

 
 автор: pornocat   (08.12.2006 в 21:37)   письмо автору
 
   для: Fli   (06.12.2006 в 20:09)
 

Куда не пойму???

   
 
 автор: pornocat   (08.12.2006 в 21:37)   письмо автору
 
   для: Fli   (06.12.2006 в 20:09)
 

Куда не пойму???

   
 
 автор: Fli   (06.12.2006 в 20:09)   письмо автору
 
   для: pornocat   (06.12.2006 в 19:50)
 

Дык запихайте туды unlink)))

   
 
 автор: pornocat   (06.12.2006 в 19:50)   письмо автору
 
   для: Fli   (06.12.2006 в 17:54)
 

Да показывает картинки, но половину из них пишет Failed!!
и в папке temp не удаляются автоматически превьюшки(((

   
 
 автор: Fli   (06.12.2006 в 17:54)   письмо автору
 
   для: pornocat   (06.12.2006 в 16:52)
 

Извините, вот пока было настроение, и немного время, написал не доработанный скрипт)


<?php

//Общая директория изображений
define  ("_IMG_root""img" );

function 
img_resize($src$dest$width$height$rgb 0xFFFFFF$quality 100) {
         if (!
file_exists($src)) return false;
              
$size getimagesize($src);
         if (
$size === false) return false;
             
$format strtolower(substr($size['mime'], strpos($size['mime'], '/')+1));
             
$icfunc "imagecreatefrom" $format;
         if (!
function_exists($icfunc)) return false;
              
$x_ratio     $width $size[0];
              
$y_ratio     $height $size[1];
              
$ratio       min ($x_ratio$y_ratio);
              
$use_x_ratio = ($x_ratio == $ratio);
              
$new_width   $use_x_ratio  $width  floor($size[0] * $ratio);
              
$new_height  = !$use_x_ratio $height floor($size[1] * $ratio);
              
$new_left    $use_x_ratio  floor(($width $new_width) / 2);
              
$new_top     = !$use_x_ratio floor(($height $new_height) / 2);
              
$isrc        $icfunc($src);
              
$idest       imagecreatetruecolor ($width$height                            );
                             
imagefill            ($idest00$rgb                         );
                             
imagecopyresampled   ($idest$isrc$new_left$new_top00,
                                                   
$new_width$new_height$size[0], $size[1]);
                             
imagejpeg            ($idest$dest$quality                    );
                             
imagedestroy         ($isrc                                      );
                             
imagedestroy         ($idest                                     );
                             return 
true;

}


$Open_temp opendir ("temp");
while (
$Read_temp readdir ($Open_temp)) {
       if (
$Read_temp == "."  ) { continue; }
       if (
$Read_temp == ".." ) { continue; }
       
$NEW_TEMP[] = $Read_temp;
}

$Open_scan opendir (_IMG_root);

for (
$xx 0$xx count ($NEW_TEMP); $xx++) {
//Директории изображений
while ($Read_scan readdir ($Open_scan)) {
       if (
filetype (_IMG_root."/".$Read_scan) === "dir") {
           if (
$Read_scan == "." ) { continue; }
           if (
$Read_scan == "..") { continue; }
               
$Scan_element[] = $Read_scan;
       }
}

$Count_scan_array count ($Scan_element          );
$R_e_l_path       rand  (0$Count_scan_array -1);

//Генерируем случайную директорию
$Open_path_img opendir (_IMG_root."/".$Scan_element[$R_e_l_path]);

while (
$Read_element readdir ($Open_path_img)) {
       
$Image_array[] = $Read_element;
}
           for (
$x 0$x count ($Image_array); $x++) {
                if (
$Image_array[$x] == "."         ) { continue; }
                if (
$Image_array[$x] == ".."        ) { continue; }
                if (
$Image_array[$x] == "index.html") { continue; }
                if (
$Image_array[$x] == "index.htm" ) { continue; }

                
//В случае если windows хостинг
                
if ($Image_array[$x] == "Thumbs.db" ) { continue; }
                    
$Convert[] = $Image_array[$x];
                    
$Check     count ($Convert);
           }
                if (!empty (
$Check)) {
                    
//Подчитываем количество элементов массива
                    
$Img_array_count count ($Convert              );
                    
$Rand_image      rand  (0$Img_array_count -1);

                    
//Генерируем произвольную картинку
                    
$Select_element $Convert[$Rand_image];
                    
$RANOM[]        = $Convert[$Rand_image];
                    
                    
$DEARRAY implode ("-"$RANOM);
                    if (
substr_count ($DEARRAY$Select_element) > 1)  { continue; }
                                  if (
img_resize(_IMG_root."/".$Scan_element[$R_e_l_path]."/".$Select_element"temp/".md5 ("$Select_element").".jpg"200200)) {
                                      print 
"<a href = "._IMG_root."/".$Scan_element[$R_e_l_path]."/".$Select_element."><img src = \"temp/".md5 ("$Select_element").".jpg"."\" /></a>";
                                  } else {
                                      echo 
'Failed!';
                                  }
                                  
                               } else {
                                 echo 
"Нет изображения!";
                               }
                               if (
$xx 9) { break; }
}


?>

   
 
 автор: pornocat   (06.12.2006 в 16:52)   письмо автору
 
   для: Fli   (06.12.2006 в 16:48)
 

Может когда у вас будет свободное время напишите пожалуйста эту вариацию кода!!!

   
 
 автор: Fli   (06.12.2006 в 16:48)   письмо автору
 
   для: pornocat   (06.12.2006 в 16:09)
 

Можно, но код надо немнога по другому написать)

   
 
 автор: pornocat   (06.12.2006 в 16:09)   письмо автору
 
   для: Fli   (06.12.2006 в 14:40)
 

Интересно а можно на страницу вывести таких случайно сгенерированных предосмотров штук 10??


Пробовал с помощью
require_once
но эта функция оказывается не должна повторятся!!

   
 
 автор: pornocat   (06.12.2006 в 14:51)   письмо автору
 
   для: Fli   (06.12.2006 в 14:40)
 

Супер!!!:))))

СПАСИБО ОГРОМНОЕ!!!

   
 
 автор: Fli   (06.12.2006 в 14:40)   письмо автору
 
   для: pornocat   (06.12.2006 в 14:27)
 

Замините:

print "<img src = \"temp/".md5 ("temp").".jpg"."\" />";

на:

print "<a href = "._IMG_root."/".$Scan_element[$R_e_l_path]."/".$Select_element."><img src = \"temp/".md5 ("temp").".jpg"."\" /></a>";

   

Сообщения:  [1-10]   [11-20] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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