WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   formatierungsproblem (http://www.wcm.at/forum/showthread.php?t=98706)

heli2sky 01.06.2003 23:05

formatierungsproblem
 
hallo!

ich hab in php eine kleine bildergalerie geschrieben, die gibt mir alle dateien aus, die in einem bestimmten ordner sind (thumbnails) und schreibt mir darunter die dateigröße und auflösung... ich hätte das bild und die daten (darunter) gerne eingerahmt. soweit kein problem, einfach über table, NUR: wie mach ich das, dass diese felder dann aneinandergereiht werden (nicht untereinander!), bis kein platz mehr ist und dann erst in die nächste zeile springen (also sich an die fenstergröße anpassen)???

bitte um hilfe!

käptn 02.06.2003 11:48

z.B.:

PHP-Code:

<?php
foreach ( $thumbnails as $thumbnail ) {
  
?>
  <div style="float:left; border:1px solid #000; width:120px; height:180px; text-align:center;">
    [img]<?php echo $thumbnail['src'?>[/img]" />
    

 <?php echo $thumbnail['txt'?> </p>
  </div>
  <?php
}
?>

120 bzw. 180 px sind Beispielwerte...

HTH

~

heli2sky 02.06.2003 23:10

danke, hat geholfen!

heli2sky 03.06.2003 19:43

also ich hab das bilderbuch jetzt fertig, nur ein kleines problem gibt es noch! hab das jetzt so gelöst:

PHP-Code:

if(is_array($files)){
   
sort($files);
   echo 
"<p style=\"text-align: center;\">(" count($files) . " Bilder in diesem Ordner)</p>";
   echo 
"<div align=\"center\" style=\"margin: 10px;\">\n";
   foreach(
$files as $file){
        echo 
"<span style=\"float: left; border: 2px outset;
text-align: center; margin: 10px; padding: 3px;\">


<a href=\"show.php?dir=" 
$dir "&file=" $file "\">
<img src=\"" 
$dir "/110/" $file "\" style=\"border: 1px solid
black;\" alt=\"" 
$file "\"></a>
\n"
;
        
$imgsize getimagesize($dir "/450/" $file);
        echo 
$imgsize[0] . " x " $imgsize[1] . "
"
;
         echo 
round(filesize($dir "/450/" $file)/1024) . " KB</p></span>\n";
   }
   echo 
"</div>";
 }


wie bekomm ich jetzt die bilder in die mitte??? ist zwar nur ein kleiner schönheitsfehler, aber der stört schon...

http://members.chello.at/heli2sky/so...bilderbuch.gif

AlexanderFX 04.06.2003 13:51

wenn das ganze in ner tabelle is:
<table align=center>

bzw probiers mal oben und unten mit <div align=center></div>

das mit der tabelle is wahrscheinlich das einfachste
wenst keine hast mach eine drum und gib den border weg, merkt keiner und leicht zu designen

käptn 04.06.2003 14:06

Zitat:

Wie bekomme ich die Bilder in die Mitte?
Mit meiner Methode gar nicht, da durch "float:left;" alles nach links "schwebt".

Aber es gibt sonst keine einfachere Möglich keit die Anzahl
der Bilder in einer Reihe dynamisch nach Fenstergröße anzupassen.

~

AlexanderFX 04.06.2003 14:30

tjo da käptn kennt sie aus

heli2sky 04.06.2003 16:24

hmmmmmmmmm, schade...

Zitat:

Aber es gibt sonst keine einfachere Möglich keit die Anzahl
der Bilder in einer Reihe dynamisch nach Fenstergröße anzupassen.
dann bitte her mit der komplizierteren methode, die nehm ich in kauf, hauptsache, die bilder sind dann in der mitte...

du musst ja nicht gleich den code posten, brauch nur eine idee, auf welche weise ich noch versuchen könnte, die bilder in die mitte zu bringen!

danke für eure hilfe!

AlexanderFX 04.06.2003 17:13

http://www.wcm.at/vb2/showthread.php?threadid=99146

is zwar grafisch ned so ansprechend wie deins aber es funkt

hier no die volle index seite, dass du dir nix zammbasteln musst

PHP-Code:

<html>

<head>
<?php
include "config.php"/* Hohlt Versions Daten */
?>


<title>- Image Script <?php echo $version/* Gibt Version im Title aus */?> </title>

</head>
<body>
<p align="center">Image Script <?php echo $version/* Gibt Version aus */?></p>
<p align="center"></p>
<?php

        
echo"
            <table width=800 border=0 align=center>
            <tr>
            "
;
            
        
$counter=0;
        
$dp opendir($path);
        
            while (
$file readdir($dp))
                {
                    
$counter++;
                                    
                    if (!
preg_match('/^\.{1,2}/'$file))
                        {
                        echo 
"
                            <td>
                            <div align=\"center\">
                            <a href=\"bildausgabe.php?pic=" 
                            
$file /* übergibt name als teil der Url */ 
                            
"\"" /* " , onMouseOver=\"{window.status='Vollbild & Informationen zu " . $file . "'; return true;}\" */ ">
                            <img src=\"img/" 
$file "\" width=\"80\" height=\"60\" border=\"0\">
                            
"
                            
$file 
                            
"

                            </div>
                            </td>
                            "
;
                            
                            if( 
$counter == 
                                {
                                echo 
"</tr>\n";
                                }
                        }
                }
                
            
closedir($dp);
            
            echo
"
                </tr>    
                </table>
                "
;

?>


</p>


</p>
<table width="25%" border="1" align="center" cellpadding="1" cellspacing="1">
  <tr> 
    <td>Pfad:</td>
    <td><?php echo $path?></td>
  </tr>
    <tr>
    <td>Bilder:</td>
    <td><?php echo $counter-2;?></td>
  </tr>
  <tr> 
    <td>Ordnergr&ouml;&szlig;e:</td>
    <td> 
      <?PHP
function dirsize($dir) {
   
   
$dh opendir($dir);
   
$size 0;
   while ((
$file readdir($dh)) !== false)
       if (
$file != "." && $file != "..") {
           
$path $dir."/".$file;
           if (
is_dir($path))
             
$size += dirsize($path);
           elseif (
is_file($path))
             
$size += filesize($path);
       }
  
closedir($dh);
   return 
$size;
}
$totalsize round((dirsize($path) / 1048576), 2);

echo 
number_format($totalsize1','' ') . " MB";
    
?>
    </td>
  </tr>
  <tr> 
    <td>Servergr&ouml;&szlig;e:</td>
    <td> 
      <?php
    $dfc 
round((disk_free_space("i:") / 1048576), 2);
    echo 
number_format($dfc1','' ') . " MB";

?>
    </td>
  </tr>

</table>
</body>
</html>


käptn 04.06.2003 17:15

Code:

<script type="text/javascript"> <!--
  ... // hier implementieren, vorzugsweise über DOM,
  ... // dass der Table angepasst zur Fensterbreite
  ... // ausgegeben wird
  // -->
</script>
<noscript>
 
</noscript>

Denkanstoß genug? :D :p ;)

~


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:46 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag