Автор Тема: Гуру PHP помогите :)  (Прочитано 4807 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Ruslan

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 109
  • +0/-0
  • 0
    • Просмотр профиля
    • http://regni.ru
Гуру PHP помогите :)
« : 16 Июня 2003, 16:40:09 »
Что значит этот кусок кода? (скрипт галереи)


      //creazione tabella immagini
      for($j=0;$j<2;$j++){
      
         echo "";
                    
         while ($i<($mol/1)){
            $tmp_tmb_image = $animearray[$id];
            $tmp_image = substr($tmp_tmb_image,4);
            if(in_array($tmp_tmb_image,$animearray)){
                  echo "";
                  $size = getimagesize("$cat/$anime/img/$tmp_image");
 - Надежная регистрация доменов

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Гуру PHP помогите :)
« Ответ #1 : 16 Июня 2003, 17:00:49 »
ты бы уже весь код показал а не его огрызок.
Таблица здесь строится, хотя ИМХО как-то кривовато.
Например:
$tmp_tmb_image = $animearray[$id];
а потом проверка
if(in_array($tmp_tmb_image,$animearray)){
выглядит как-то глупо
Выражение $mol/1 - тоже непонятно для чего (вероятно ему лень было писать intval($mol))
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Ancient

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 89
  • +0/-0
  • 0
    • Просмотр профиля
    • http://ancient.dax.ru
Гуру PHP помогите :)
« Ответ #2 : 16 Июня 2003, 17:24:09 »
Макс  здесь таблица явно не строится :)

По этому куску кода вообще трудно что-то понять. Видно что задается ширина ячейки таблицы 100/intval($mol) ну и еще вычисляется размер картинки, видимо той которая должна быть в этой ячейки...
Ancient Team

Оффлайн Ruslan

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 109
  • +0/-0
  • 0
    • Просмотр профиля
    • http://regni.ru
Гуру PHP помогите :)
« Ответ #3 : 16 Июня 2003, 18:49:20 »
Весь скрипт:




//////////////////////////
//Se non и stata scelta una categoria
//////////////////////////
if($cat==null){
   unset($animearray);
   $i=0;
   $images=0;
   $totcat=0;
   $totimages=0;
   
   echo "";
   
   $rep=opendir(\'.\');
   while (false !== ($file = readdir($rep))) {
      if($file != \'..\' && $file !=\'.\' && $file !=\'\'){
         if (is_dir($file)){
               
            $rep_cat = opendir($file);
            while (false !== ($file_cat = readdir($rep_cat))) {
               if($file_cat != \'..\' && $file_cat !=\'.\' && $file_cat !=\'\'){
                  if(is_dir($file."/".$file_cat)){
                  
                     $rep_anime = opendir($file."/".$file_cat); //conteggio immagini di una cartella
                     while (false !== ($file_anime = readdir($rep_anime))) {
                        if($file_anime != \'..\' && $file_anime !=\'.\' && $file_anime !=\'\'){
                           if(is_file($file."/".$file_cat."/".$file_anime) && getimagesize($file."/".$file_cat."/".$file_anime)){
                           $images++;
                           }
                        }
                     }
                     closedir($rep_anime);
                     $totcat++; //numero di categorie
                  }
               }
            }
            closedir($rep_cat);
            if($images != 0){ //se la cartella ha immagini
               echo "";
            }
            else{
               echo "";
            }
            
            $totimages = $totimages+$images;
            $images=0;
            $i++;
               
            //ogni 2 cartelle viene creata una nuova riga
            if($i==2){
               
               $i=0;
               echo "";
            }
         }         
      }
   }
   
   echo "
$site : Главная



$file ($images) $file ($images)


$totimages фотографий в $totcat категориях
";
   
   closedir($rep);
   clearstatcache();
}
   
//////////////////////////
//Se и stata scelta una categoria
//////////////////////////
else{
   
   /////////////
   //Se non и stato scelto un anime
   /////////////
   if($anime==null){
      unset($animearray);
      $i=0;
      $images=0;
      
      $rep=opendir($cat);
      echo "
";
      while (false !== ($file = readdir($rep))) {
         if($file != \'..\' && $file !=\'.\' && $file !=\'\'){
            if (is_dir($cat."/".$file)){
                     
               $rep_cat = opendir($cat."/".$file); //conteggio immagini di una cartella
               while ($file_cat = readdir($rep_cat)){
                  if($file_cat != \'..\' && $file_cat !=\'.\' && $file_cat !=\'\'){
                     if(is_file($cat."/".$file."/".$file_cat) && getimagesize($cat."/".$file."/".$file_cat)){
                     $images++;
                     }
                  }
               }
               closedir($rep_cat);
               
               if($images != 0){ //se la cartella ha immagini
                  echo "";
               }
               else{
                  echo "";
               }
               
               $images=0;
               $i++;
               
               //ogni 2 cartelle viene creata una nuova riga
               if($i==2){
               
                  $i=0;
                  echo "";
               }
               
            }
            
         }
         
      }
      
      echo "
$site : $cat



$file ($images) $file ($images)
";
      
      closedir($rep);
      clearstatcache();
   
   }
   
   /////////////
   //Se и stato scelto un anime
   /////////////
   else{
      
      $i=0;
      $animearray = array();
      $rep_cat = opendir($cat."/".$anime); //conteggio immagini di una cartella
         while ($file_anime = readdir($rep_cat)){
            if($file_anime != \'..\' && $file_anime !=\'.\' && $file_anime !=\'\'){
               if(is_file($cat."/".$anime."/".$file_anime) && getimagesize($cat."/".$anime."/".$file_anime)){
               $animearray[$i] = $file_anime;
               $i++;
               }
            }
         }
      closedir($rep_cat);
      sort($animearray);
      $i=0;
      $idnow = $id;
      
      //numero di pagine
      if(($images%$mol)==0){
         $npage = ($images/$mol);
      }
      else{
         $npage = round(($images/$mol));
            if(($npage*$mol)<$images){
               $npage = $npage+1;
            }
      }
      
      //creazione tabella generale
?>

     
      
        
      
     
   

           
            
              
            
           
         

                 
                  
                    
                  
                  
                    
                  
                  
                    
                  
                  
                    
                  
                 
               

                       
                        
                          
                          
                        
                       
                     
                     face=Tahoma size=2>                     size=1>

                           

                       
                        
                          
                          
                        
                       
                     
                     face=Verdana,Arial,Helvetica color=#000000 size=1>                     href="index.php">Top
                           >
                     color=#000000 size=1>"> >

                                          if($npage != 1 && ($idnow-$mol) >=0){ //pagine precedenti?
                        echo " ";
                     }
                          
                     echo " ";
                          
                     if($npage != 1 && ($idnow+$mol) < $images){ //pagine successive?
                        echo " ";
                     }
                     
                      ?>
                     

                    
            //creazione tabella immagini
      for($j=0;$j<2;$j++){
      
         echo "";
                    
         while ($i<($mol/1)){
            $tmp_tmb_image = $animearray[$id];
            $tmp_image = substr($tmp_tmb_image,4);
            if(in_array($tmp_tmb_image,$animearray)){
                  echo "";
                  $i++;
                  $id++;
            }
            
            //se non ci sono immagini viene creata una cella vuota
            else{
               echo "";
               $i++;
               $id++;
            }
         }
         echo "";
         if(!in_array($tmp_tmb_image,$animearray))break;
         $i=0;
         
      }
      //fine ciclo di tabella
                       
            ?>
";
                  $size = getimagesize("$cat/$anime/img/$tmp_image");

                  if($size[2]==1){ //che tipo di immagine и?
                     $type="GIF";            
                  }else if($size[2]==2){
                     $type="JPEG";
                  }else if($size[2]==3){
                     $type="PNG";
                  }else if($size[2]==6){
                     $type="BMP";
                  }
                  
                  echo "
";
                  echo "
".(substr($tmp_image,0,-4))."
$type image
Size: ".round(filesize("$cat/$anime/img/$tmp_image")/1024)." Kb
";
                  echo "$size[0]x$size[1]
Added on: ";
                  echo date ("j M Y" ,filectime("$cat/$anime/img/$tmp_image"))."
 

                       
                        
                          
                          
                          
                        
                       
                     
                     size=2>                      face=Verdana,Arial,Helvetica size=1>
            //creazione link pagine
      $id=0;
      
      if($npage != 1 && ($idnow-$mol) >=0){ //pagine precedenti?
         echo "<<prev  ";
      }
      
      for($i=0;$i<$npage;$i++){ //tutte le pagine
      
         if($idnow/$mol==$id){ //se и la pagina corrente
         echo "(".($i+1).")  ";
         }
         else{ //altrimenti
         echo "".($i+1)."  ";
         }
         $id++;
      }
      if($npage != 1 && ($idnow+$mol) < $images){ //pagine successive?
         echo "
next>>";
      }
      
      ?>            
                  
                     size=2> 

      }
}

?>
 - Надежная регистрация доменов

Оффлайн Ruslan

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 109
  • +0/-0
  • 0
    • Просмотр профиля
    • http://regni.ru
Гуру PHP помогите :)
« Ответ #4 : 16 Июня 2003, 18:51:48 »
Мне нужно найти в этом коде, где указывается сколько подкаталогов должно быть в галереи, по идеи 2, но мне нужен один. Когда я создаю 1 каталог он выдает ошибку:
http://www.bpks.ru/12/index.php?cat=%CC%EE%E6%E6%E5%E2%E5%EB%FC%ED%E8%EA&anime=img&images=1&id=0
 - Надежная регистрация доменов

Оффлайн Neter

  • Жустер
  • Старожил
  • ****
  • Сообщений: 324
  • +0/-0
  • 2
    • Просмотр профиля
Гуру PHP помогите :)
« Ответ #5 : 16 Июня 2003, 20:41:08 »
Ненавижу ковырять чужой корявый код.. но
Цитировать
Можжевельник/img/img/.jpg
мне что-то не нравится..
Вобще-то не очень правильно писать названия директорий на русском, хотя по-моему это скриптятина кривая..

Если тебе надо одну директорию то скорее всего прийдётся везде это менять, самый тупой способ попробуй затереть везде "img/" :)
Мне тормоз послужил толчком...

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Гуру PHP помогите :)
« Ответ #6 : 16 Июня 2003, 21:49:29 »
попробуй в том куске из первого твоего поста в цикле двойку на единицу поменять

Хотя я бы выкинул этот скрипт
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Ruslan

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 109
  • +0/-0
  • 0
    • Просмотр профиля
    • http://regni.ru
Гуру PHP помогите :)
« Ответ #7 : 17 Июня 2003, 11:45:40 »
Цитировать
Хотя я бы выкинул этот скрипт


Может подскажете альтернативу этому скрипту, если он кривой?
Буду признателен ;)
 - Надежная регистрация доменов

Оффлайн Xander

  • санитар леса
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1780
  • +0/-0
  • 2
    • Просмотр профиля
Гуру PHP помогите :)
« Ответ #8 : 17 Июня 2003, 12:12:24 »
к примеру вот: http://gallery.sourceforge.net/
•••Jah\'d never let us down!•••

Оффлайн Ruslan

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 109
  • +0/-0
  • 0
    • Просмотр профиля
    • http://regni.ru
Гуру PHP помогите :)
« Ответ #9 : 17 Июня 2003, 12:30:51 »
Xander

Ничего себе! Он состоит из 18 папок и 162 файлов, он что в 30 раз круче того скрипта? В связи с чем он такой большой?
 - Надежная регистрация доменов

Оффлайн Neter

  • Жустер
  • Старожил
  • ****
  • Сообщений: 324
  • +0/-0
  • 2
    • Просмотр профиля
Гуру PHP помогите :)
« Ответ #10 : 17 Июня 2003, 12:59:12 »
Интересный способ оценивать функциональость программ :)
Но наверно он всё-таки лучше :)
Мне тормоз послужил толчком...

Оффлайн Ruslan

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 109
  • +0/-0
  • 0
    • Просмотр профиля
    • http://regni.ru
Гуру PHP помогите :)
« Ответ #11 : 19 Июня 2003, 16:19:03 »
Скрипт дествительно супер. Такого я не ожидал. Очень много настроек и руками ничего делать не надо :) Всем советую Xander отдельно спасибо!
 - Надежная регистрация доменов

Оффлайн Xander

  • санитар леса
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1780
  • +0/-0
  • 2
    • Просмотр профиля
Гуру PHP помогите :)
« Ответ #12 : 19 Июня 2003, 16:32:25 »
Ruslan
и на будущее:
если увидишь в каком-нибудь скрипте такое

echo "<center><a href=\\"$cat/$anime/img/$tmp_image\\" target=\\"_blank\\"><img src=\\"$cat/$anime/$tmp_tmb_image\\" border=\\"0\\" vspace=4></a></center>";
echo 
"<table bgcolor=#eeeeee width=100%><tr><td><font size=\\"1\\" face=\\"Verdana\\"><b>".(substr($tmp_image,0,-4))."</b>
$type image
Size: "
.round(filesize("$cat/$anime/img/$tmp_image")/1024)." Kb
"
;
echo 
"$size[0]x$size[1]
Added on: "
;
echo 
date ("j M Y" ,filectime("$cat/$anime/img/$tmp_image"))."</font></td></tr></table></td>";


выкидывай этот скрипт, не задумываясь.
Потому, что
1) такой HTML-код устарел года два назад
2) здесь внешний вид очень сильно перемешан с программированием. Менять дизайн замучаешься, мягко говоря.
•••Jah\'d never let us down!•••

Оффлайн Ruslan

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 109
  • +0/-0
  • 0
    • Просмотр профиля
    • http://regni.ru
Гуру PHP помогите :)
« Ответ #13 : 19 Июня 2003, 16:40:37 »
Thanks
 - Надежная регистрация доменов

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28