Portál AbcLinuxu, 9. května 2025 21:26

Dotaz: Atomaticky rovnat obrázky

22.5.2009 10:02 Trnda
Atomaticky rovnat obrázky
Přečteno: 288×
Odpovědět | Admin

Zdravím PHP guru, prosím pomožte mi s drobným problémem ... Mám funkci, která čte obrázky a vykresluje do tabulky v šabloně. Vše maká jak má až na to, kdy se ve všech prohlíčečích automaticky obrázky řaděj. Jenom v IE to sází jeden vedle druhýho až je z toho nekonečná nudle. Napadá vás něco?

Předem díky za pomoc.

function viewphoto($ad_id, $destination) {
$ad_photos = "";
$dir= "".$destination."".$ad_id."/";
if (is_dir($dir)){

    $adr=Dir($dir);
    while ($file=$adr->Read()){
         if (($file==".")||($file=="..")||($file=="thumb")||($file=="index.php")){}
         else{
               //echo "$file<br>\n";
               if ((StrStr($file,".jpg")==".jpg") || (StrStr($file,".JPG")==".JPG") || (StrStr($file,".gif")==".gif") || (StrStr($file,".GIF")==".gif")){
                $image_name = $file;
                 $image_name_full = "".$dir."thumb/".$image_name."";
                 $ad_photos .= "<a href=\"$dir$file\" target=\"_blank\"><img src=\"".$image_name_full."\" alt=\"$image_name\"  style=\"border:2px solid #000000;\"></a>&nbsp;";
              }
            else {
                //not a valid photo file
               }
         }
    }
    $adr->Close();
}
return $ad_photos;
}

 

tady je šablona:

<table align="center" border="0" cellpadding="5" cellspacing="0" width="98%">
    <tr bgcolor="#28377A">
        <td colspan="5" style="padding: 3px 10px 3px; color: #FFCC00; font-size: 13px; font-weight: bold;" >{ADVERTISING_ROW_TYP}: {ADVERTISING_ROW_SUBJECT}</td> 
    </tr>
    <tr bgcolor="#4760AF">     
      <td style="text-align:left; vertical-align:bottom; border-bottom:1px solid #EAEAEA;">
        <img src="plugins/advertising/img/figure.gif" alt="" />
        <span class="classf">{ADVERTISING_ROW_AUTHOR}
        <img src="plugins/advertising/img/date.gif" alt="" />
        {ADVERTISING_ROW_DATE}
        <img src="plugins/advertising/img/time.gif" alt="" />
        {ADVERTISING_ROW_TIME}
      </td>
      <td style="text-align:right; border-bottom:1px solid #EAEAEA;">{ADVERTISING_ROW_EDIT}{ADVERTISING_ROW_EMAIL}{ADVERTISING_ROW_WEBSITE}</td>
    </tr>
    <tr bgcolor="#4760AF">
      <td style="text-align:left;" colspan="2">{ADVERTISING_ROW_TEXT}</td>
    </tr>
    <tr bgcolor="#4760AF">
      <td style="text-align:left;" colspan="2">{ADVERTISING_ROW_PHOTOS}</td>
    </tr>
</table>

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

22.5.2009 10:40 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
Rozbalit Rozbalit vše Re: Atomaticky rovnat obrázky
Odpovědět | | Sbalit | Link | Blokovat | Admin
Řekl bych, že tam vadí ta pevná mezera:
...
$ad_photos .= "<a href=\"$dir$file\" target=\"_blank\"><img
src=\"".$image_name_full."\" alt=\"$image_name\"  style=\"border:2px solid
#000000;\"></a>&nbsp;";
...
PS: Používejte <pre class="kod"> pro zdrojáky :-)
I am always ready to learn although I do not always like to be taught. (W. Churchill)
22.5.2009 10:59 Trnda
Rozbalit Rozbalit vše Re: Atomaticky rovnat obrázky

tak tím to taky není ...

P.S. omlouvám se, příště budu používat ...

22.5.2009 11:21 Dejv | skóre: 37 | blog: Jak ten blog nazvat ... ? | Ostrava
Rozbalit Rozbalit vše Re: Atomaticky rovnat obrázky
Dej taky html zdroj, co ti vlastne z toho skriptu a sablony vyleze.

Dejv
Pevně věřím, že zkušenější uživatelé mě s mými nápady usměrní a pošlou tam, kam tyto nápady patří...
22.5.2009 11:42 Trnda
Rozbalit Rozbalit vše Re: Atomaticky rovnat obrázky
Příloha:

kurňa, jak je to s tím vkládáním kódu ???

 

23.5.2009 01:08 Dejv | skóre: 37 | blog: Jak ten blog nazvat ... ? | Ostrava
Rozbalit Rozbalit vše Re: Atomaticky rovnat obrázky
No normalne pred tvuj kod napises <pre class="kod"> a za tvuj kod </pre>. Takze tvoje reakce bude nasledujici:
Nejaky text pred kodem
<pre class="kod">
Tvuj kod
</pre>
Nejaky text za kodem, jestli ho tam chces mit
Dejv
Pevně věřím, že zkušenější uživatelé mě s mými nápady usměrní a pošlou tam, kam tyto nápady patří...
stativ avatar 23.5.2009 12:11 stativ | skóre: 54 | blog: SlaNé roury
Rozbalit Rozbalit vše Re: Atomaticky rovnat obrázky
Odpovědět | | Sbalit | Link | Blokovat | Admin
A co třeba použít float:left v css a vykašlat se na tabulky?
Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
23.5.2009 15:22 Ash | skóre: 53
Rozbalit Rozbalit vše Re: Atomaticky rovnat obrázky
Odpovědět | | Sbalit | Link | Blokovat | Admin
A v té šabloně to vkádáte místo ADVERTISING_ROW_PHOTOS?

Chápu dobře že váš problém lze minimalizovat na to že:
<table><tr><td>
<a href=""><img src="" />&nbsp;<a href=.... 
</td></td></table>
se chová jinak ve FF a jinak v IE, tedy že FF řádek s obrázky naláme, kdežto IE ne?
24.5.2009 20:59 Trnda
Rozbalit Rozbalit vše Re: Atomaticky rovnat obrázky

díky moc Dejve, už mi je to jasný. Jsem to hledal ve "stylu" bbcode - v roletce :o)))  Jinak s tím FLOAT v CSS to není špatný nápad, dík za typ. 

Takže problém odstraněn - místo pevně nadefinovaný mezery jsem zadal mezeru "mezerníkem" a jede to. Je to zvláštní, pokud mezi obrázky není žádná mezera, tak to IE i OPERA nacpe do jedný lajny, přičemž FF to zalomý.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.