Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

вывести функцию

70K
17 апреля 2011 года
gooddemo
2 / / 17.04.2011
Есть галерея, лежит в папке foto

index.php
Код:
<?
include("config.php");
?>
<html>
<head>
<script type="text/javascript" src="/js/prototype.js"></script>
<script type="text/javascript" src="/js/scriptaculous.js?load=effects,builder"></script>
<script type="text/javascript" src="/js/lightbox.js"></script>
</head>
</html>
<table cellpadding=2 cellspacing=7 border=0 width=100%>
<tr>
<td valign=top width=190>
<table class=tborder cellspacing=1 cellpadding=6 border=0 width=200>
<tr>
<td class=tcat>Галереи</td>
</tr>
<tr>
<td class=alt2><a href="index.php">Главная</a></td>
</tr><?
$t=0;
$dir_menu=opendir("./files");
while($folder=readdir($dir_menu))
  {
  if($folder!="." && $folder!=".." && filetype("./files/$folder")=="dir")
    {
    chdir("./files/$folder");
    #$scan_dir=opendir(".");
    $t++;
    if(file_exists("info.dat"))
      {
      $file=fopen("info.dat",r);
      $title_cat=fgets($file);
      clearstatcache();
      }
    else $title_cat="Категория $t";
    $array_cat["$folder"]=ucfirst(trim($title_cat));
    chdir("../../");
    }
  }

if(count($array_cat)>0)
  {
  asort($array_cat);
  foreach($array_cat as $key=>$val)
    {
    $first=substr($val,0,1);?>
    <tr>
    <td class=alt2><?if($first!=$symbol) echo "<b>";?>
    <a href="index.php?cat=<?echo rawurlencode($key);?>"><?echo$val;?></a>
    <?if($first!=$symbol) echo "</b>";?></td>
    </tr><?
    $symbol=$first;
    }
  }?>
  </table></td>
  <td valign=top align=center width=90%><?
  $cat=urldecode($cat);
  if(file_exists("./files/$cat"))
    {
    chdir("./files/$cat");
    $scan_dir=opendir(".");
    while($scan_dir2=readdir($scan_dir))
      {
      $arr=explode(".",$scan_dir2);
      $end=strtolower(end($arr));
      if($scan_dir2!="." && $scan_dir2!=".." && in_array($end,$types)) $r++;
      }
    $pages=ceil($r/$f);
    if($page=="" || $page=="0" || $page>$pages) $page=1;
    if(file_exists("info.dat"))
      {
      $file=fopen("info.dat",r);
      $title_cat=fgets($file);
      clearstatcache();
      }
    else $title_cat="Категория NONAME";?>
    <table class=tborder cellspacing=1 cellpadding=6 width="100%" align=center border=0>
    <tr>
      <td class=tcat colspan=<?echo$x;?>>Галерея: <?echo$title_cat;?>.
      Всего фотографий: <?echo$r;?>.</td>
     </tr>
     <tr>
      <td class=alt2 colspan=<?echo$x;?> valign=middle align=center><?
      if($page>1) echo "<a href=\"index.php?cat=$cat&page=".($page-1)."\"><</a>  ";?>
      Страницы: <?pages($r);?><?
      if($page<$pages) echo "  <a
      href=\"index.php?cat=$cat&page=".($page+1)."\">></a>  ";?></td>
     </tr><?
    $i=$ii=1;
    $start=($page-1)*$f+1;
    $end=$page*$f;
    $dir_gal=opendir(".");
    while($image=readdir($dir_gal))
      {
      $arr=explode(".",$image);
      $ext=strtolower(end($arr));
      if($image!="." && $image!=".." && in_array($ext,$types) && filetype("$image")=="file")
        {
        if($ii>=$start && $ii<=$end)
          {
          if($i==1) echo "<tr>";
          $info_img=getimagesize($image);
          echo "<td class=alt2 valign=middle align=center><strong> $ii </strong><br>
          <a href=\"full.php?cat=".urlencode($cat)."&img=$image\" target=blank>
          <img src=\"image.php?cat=".urlencode($cat)."&image=$image\" border=0></a>
          <br>Название: ".str_replace(".$end","",$image)."<br>
          <i>Размер: $info_img[0]x$info_img[1]</i></td>";
          if($i==$x) { echo "</tr>"; $i=1; }
          else $i++;
          }
        $ii++;
        }
      }?>
     <tr>
      <td class=alt2 colspan=<?echo$x;?> valign=middle align=center><?
      if($page>1) echo "<a
      href=\"index.php?cat=$cat&page=".($page-1)."\"><</a>  ";?>
      Страницы: <?pages($r);?><?
      if($page<$pages) echo "  <a
      href=\"index.php?cat=$cat&page=".($page+1)."\">></a>  ";?></td>
     </tr>
   </table><?
    }
  else
    {?>
   <table class=tborder cellspacing=1 cellpadding=6 width="100%" align=center border=0>
     <tr>
      <td class=tcat>Галлерея!</td>
     </tr>
     <tr>
      <td class=alt1 align=middle><?include("design/index.tpl");?></td>
     </tr>
   </table><?
    }?>
    </td>
  </tr>
</table>


config.php
Код:
<?

error_reporting (E_ERROR | E_WARNING | E_PARSE);

#####################################################################
################# POST and GET variables ############################
#####################################################################

$mode         = $_GET[mode];
$cat          = $_GET[cat];
$page         = $_GET[page];
$image        = $_GET[image];
$img          = $_GET[img];
$nc           = $_GET[nc];

#####################################################################

$version      = "v1.0";************  // версия

$site_url     = "http://my_site";         // адрес сайта

$site_slogan  = "Yo!";                    // слоган для добавления в избранное

$site_title   = "my_title";               // название сайта

$x            = 4;                        // количество картинок вс троке

$y            = 5;                        // количество строк

$types        = array("jpg","gif","png"); // типы файлов для загрузки (не трогать!)

$deg          = 70;**** ********  // степень сжатия

$go           = "./files/$cat";****          // каталог для загрузки

$w****      = 133;************  // ширина уменьшения

$h****      = 100;************  // высота уменьшения

$f=$x*$y;

function no_image()
  {
  $img_out=ImageCreate(100, 75);
  $background=ImageColorAllocate($img_out,250,250,250);
  imagefill($img_out, 0, 0,$background);
  $text_color=ImageColorAllocate($img_out,0,0, 0);
  ImageString($img_out, 5, 11, 1, "Error" , $text_color);
  ImageJPEG($img_out,'',50);
  ImageDestroy($img_out);
  }

function compress($filename,$q,$w="",$h="")
  {
  $size_img=getimagesize($filename);
  if(empty($w)) $w=$size_img[0];
  if(empty($h)) $h=$size_img[1];
  $ratio=$w/$h;
  if(($size_img[0]<$w) && ($size_img[1]<$h)) return true;
  $src_ratio=$size_img[0]/$size_img[1];
  if($ratio<$src_ratio) $h=$w/$src_ratio;
  else $w=$h*$src_ratio;
  $dest_img=imagecreatetruecolor($w,$h);  
  $white=imagecolorallocate($dest_img, 255, 255, 255);
  if($size_img[2]==2) $src_img=imagecreatefromjpeg($filename);                      
  elseif($size_img[2]==1) $src_img=imagecreatefromgif($filename);
  elseif($size_img[2]==3) $src_img=imagecreatefrompng($filename);
  imagecopyresampled($dest_img, $src_img, 0, 0, 0, 0, $w, $h, $size_img[0], $size_img[1]);
  if($size_img[2]==2) imagejpeg($dest_img, "", $q);                      
  elseif($size_img[2]==1) imagejpeg($dest_img, "", $q);                      
  elseif($size_img[2]==3) imagepng($dest_img, "", $q);
  imagedestroy($dest_img);
  imagedestroy($src_img);
  return true;          
  }

function pages($string)
  {
  global $f,$u,$page,$pages,$cat;
  if($string>$f)
    {
    if(!isset($page))
      {
      $page="1";
      }
    for($u=1;$u<=$pages;$u++)
      {
      if($u!=$page)
        {
        if($u==$pages)
          {
          print ' <a href="'.$PHP_SELF.'?cat='.rawurlencode($cat).'&page='.$u.'">'.$u.'</a>';
          }
        else print ' <a href="'.$PHP_SELF.'?cat='.rawurlencode($cat).'&page='.$u.'">'.$u.'</a>';
          }
      else
        {
        if($u==$pages)
          {
          print ' '.$u;
          }
        else print ' '.$u;
        }
      }
    }
  else echo"1";
  }

?>


есть еще full.php и image.php но они пока не нужны


в этом коде происходит сканирование и вывод на экран ссылок на папки с изображениями
Код:
<?
$t=0;
$dir_menu=opendir("./files");
while($folder=readdir($dir_menu))
  {
  if($folder!="." && $folder!=".." && filetype("./files/$folder")=="dir")
    {
    chdir("./files/$folder");
    #$scan_dir=opendir(".");
    $t++;
    if(file_exists("info.dat"))
      {
      $file=fopen("info.dat",r);
      $title_cat=fgets($file);
      clearstatcache();
      }
    else $title_cat="Категория $t";
    $array_cat["$folder"]=ucfirst(trim($title_cat));
    chdir("../../");
    }
  }

if(count($array_cat)>0)
  {
  asort($array_cat);
  foreach($array_cat as $key=>$val)
    {
    $first=substr($val,0,1);?>
    <tr>
    <td class=alt2><?if($first!=$symbol) echo "<b>";?>
    <a href="index.php?cat=<?echo rawurlencode($key);?>"><?echo$val;?></a>
    <?if($first!=$symbol) echo "</b>";?></td>
    </tr><?
    $symbol=$first;
    }
  }?>


Нужно что бы эти ссылки выводились в меню в списке <li></li>, в корне сервера есть основнойфайл index.php меню в нем инклюдится примерно так:
Код:
<?php
if ($master == "Фотогалерея")
{
echo "****<li><p class=\"p_menu\">Фотогалерея</p>
<ul>
<li></li>
<li></li>
</ul></li>";
}
else
{
echo "<li><a href=\"/fotoalbom/index.php\">Фотогалерея</a></li>";
}
?>
1
17 апреля 2011 года
kot_
7.3K / / 20.01.2000
и в чем вопрос?
70K
18 апреля 2011 года
gooddemo
2 / / 17.04.2011
все получилось, теперь проблема в другом, если есть каталог то появляется ссылка на этот каталог с добавочным именем $cat=1 $cat=2 $cat=3 и т.д. нужно написать условие, если в урл есть те самые добавочные имена то выводит сообщение каталог 1 или 2 или 3 и т.д.
366
18 апреля 2011 года
int
668 / / 30.03.2005
 
Код:
if (isset($_GET['cat'])) echo 'Каталог '.intval($_GET['cat']);


Вот это хоть щас на govnokod.ru можно отправлять. Прямо начиная с той строчки, где global, и заканчивая тысячей скобок:
Код:
function pages($string)
  {
  global $f,$u,$page,$pages,$cat;
  if($string>$f)
    {
    if(!isset($page))
      {
      $page="1";
      }
    for($u=1;$u<=$pages;$u++)
      {
      if($u!=$page)
        {
        if($u==$pages)
          {
          print ' <a href="'.$PHP_SELF.'?cat='.rawurlencode($cat).'&page='.$u.'">'.$u.'</a>';
          }
        else print ' <a href="'.$PHP_SELF.'?cat='.rawurlencode($cat).'&page='.$u.'">'.$u.'</a>';
          }
      else
        {
        if($u==$pages)
          {
          print ' '.$u;
          }
        else print ' '.$u;
        }
      }
    }
  else echo"1";
  }
Да и функция без return выглядит странно. Можно было бы избежать ещё нескольких скобок, поставив return где нужно


 
Код:
for($u=1;$u<=$pages;$u++)
      {
        if($u==$pages)
Подсказка: по окончании цикла ($u=1;$u < $pages;$u++), $u будет равна точно $pages (если $pages - целое число)


 
Код:
if($u==$pages)
{
print ' '.$u;
}
else print ' '.$u
А можно было и дальше продолжить
Код:
if($u==$pages)
{
print ' '.$u;
}
elseif ($u == $pages-1)
{
print ' '.$u;
}
elseif ($u == $pages-2)
{
print ' '.$u;
}
elseif ($u == $pages-3)
{
print ' '.$u;
}
else
{
print ' '.$u;
}
Ну классно же
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог