Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
(Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI...

Javascript & PHP Probelm mit Bildergalerie

Diskussion: Javascript & PHP Probelm mit Bildergalerie im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Hallo zusammen, ich habe folgenden Code, der ein Verzeichniss öffnet und anzeigt: <?php $handle=opendir('/var/www/html/shop/images/products'); while ($file = readdir ($handle)) ...

Antwort
Alt 01.03.05, 08:50   #1 (permalink)
 
Registriert seit: 07.12.04
marco Leistung: Facit NTK
Likes: 0
Standard Javascript & PHP Probelm mit Bildergalerie

Anzeige

Hallo zusammen,

ich habe folgenden Code, der ein Verzeichniss öffnet und anzeigt:

<?php
$handle=opendir('/var/www/html/shop/images/products');
while ($file = readdir ($handle)) {
if ($file != "." && $file != "..") {
echo "<img onclick=\"javascript:opener.new_product.products_i mage_exist.value='$file';window.close();\" src=\"/shop/images/products/$file\">\n";
}
}
closedir($handle);
?>

hier kann duch einfaches klicken auf ein Bild dieses ausgewählt werden, nun zu meinem Problem:

Ich würde die Bilder gerne einheitlich in einer Tabelle anzeigen lassen, finde leider nichts im Internet dazu wie das geht mit open.window, vielleicht könnt ihr mir helfen ?

zudem würde ich gerne alle bilder "name_k.jpg" mit dem _k am ende aussortieren, dies ist jedoch 2. rangig.

danke für eure Zeit.

freundliche Grüsse
Marco

marco ist offline   Mit Zitat antworten
Alt 01.03.05, 10:58   #2 (permalink)
Moderator
 
Benutzerbild von PuppE
 
Registriert seit: 13.12.04
PuppE Leistung: Facit NTK
Likes: 0
Standard

ich weis jetzt nich genau ob ich dich richtig verstanden habe aber versuch doch mal sowas:
PHP-Code:
<?php
$handle
=opendir('/var/www/html/shop/images/products');
$count=0//zum mitzählen wieviele bilder ausgegeben wurden

echo "<table>";
while (
$file readdir ($handle) ) {
if (
$file != "." && $file != ".." ) {
if (
$count == 0)
{
 echo 
"<tr>"//wenn noch keine bilder ausgegeben neue zeile
}
echo 
"<td>";
echo 
"<img onclick=\"java script:opener.new_product.products_image_exist.value='$file';window.close();\" src=\"/shop/images/products/$file\">";
echo 
"</td>";
if(
count == 3)
{
echo 
"</tr>"//wenn 3 bilder in einer reihe TR-tag schließen
count=0;
}else
count++;
}
}
if (
$count <&& $count != 0)
echo 
"</tr>"//falls zum schluß nur 2 in einer reihe wahren

echo "</table>";
closedir($handle);
?>
ich kann das gerade leider ncih testen, also wenns nich läuft musst bescheid sagen

mfg

püppi
[EDIT]
okay habs auf den server von meinem schatzi gepackt und ma getestet, siehe da ich hab n paar $ vergessen
also der code läuft bei mir wunderbar:
PHP-Code:
<html>
<body>
<?php
$handle
=opendir('bilder/');
$count=1//zum mitzählen wieviele bilder ausgegeben wurden

echo "<table>";
while (
$file readdir ($handle) ) {
if (
$file != "." && $file != ".." ) {
if (
$count == 1)
{
 echo 
"<tr>"//wenn noch keine bilder ausgegeben neue zeile
}
echo 
"<td>";
echo 
"<img src=\"$file\">";
echo 
"</td>";
if(
$count == 3)
{
echo 
"</tr>"//wenn 3 bilder in einer reihe TR-tag schließen
$count=1;
}else
$count++;
}
}
if (
$count <&& $count != 0)
echo 
"</tr>"//falls zum schluß nur 2 in einer reihe wahren

echo "</table>";
closedir($handle);
?>
</body>
</html>
du musst nur den pfad anpassen und dein javascript wieder einfügen
[/EDIT]
__________________
[Wer glaubt, dass Projektleiter Projekte leiten, glaubt auch, dass Zitronenfalter Zitronen falten.]
PuppE ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 01.03.05, 12:01   #3 (permalink)
Themenstarter
 
Registriert seit: 07.12.04
marco Leistung: Facit NTK
Likes: 0
Standard

super püppi danke vielmals es passt wunderbar

<html>
<body>
<?php
$handle=opendir('/var/www/html/shop/images/products/');
$count=1; //zum mitzählen wieviele bilder ausgegeben wurden

echo "<table>";
while ($file = readdir ($handle) ) {
if ($file != "." && $file != ".." ) {
if ($count == 1)
{
echo "<tr>"; //wenn noch keine bilder ausgegeben neue zeile
}
echo "<th width=100>";
echo "<img onclick=\"javascript:opener.new_product.products_i mage_exist.value='$file';window.close();\" src=\"/shop/images/products/$file\"width=\"80\">\n";
echo "</th>";
if($count == 4)
{
echo "</tr>"; //wenn 3 bilder in einer reihe TR-tag schließen
$count=1;
}else
$count++;
}
}
if ($count <4 && $count != 0)
echo "</tr>"; //falls zum schluß nur 2 in einer reihe wahren

echo "</table>";
closedir($handle);
?>
</body>
</html>

hier nochma der code, falls jemand etwas nachsehn möchte, der th tag erzwingt das alle bilder gleich gross sind !


nun würde ich gerne einige vorschläge dazu hören wie ich nur die "grossen" bilder anzeigen kann, also alle ohne die Bilder mit der _k endung (name_k.jpg) ?!
marco ist offline   Mit Zitat antworten
Alt 01.03.05, 14:21   #4 (permalink)
Moderator
 
Benutzerbild von PuppE
 
Registriert seit: 13.12.04
PuppE Leistung: Facit NTK
Likes: 0
Standard

du könntest entweder die bilder in nem extra verzeichnis speichern, oder du überprüfst vor der ausgabe ob _k.jpg im dateinamen ist:
dazu musst du zeile 10 so anpassen
PHP-Code:
if ($file != "." && $file != ".." &&  strstr ($file,"_k.jpg" )) { 
__________________
[Wer glaubt, dass Projektleiter Projekte leiten, glaubt auch, dass Zitronenfalter Zitronen falten.]
PuppE ist offline   Mit Zitat antworten
Alt 01.03.05, 14:48   #5 (permalink)
Themenstarter
 
Registriert seit: 07.12.04
marco Leistung: Facit NTK
Likes: 0
Standard

wow cool, es funktioniert, leider gibt es mir genau die bilder aus die ich nicht wollte ^^

mit dem ! kann man die funktion doch umkehren oder ? bzw. machen das sie alle ohne _k ausgibt ?

*edit*

if ($file != "." && $file != ".." && ! strstr($file,"_k" ) ) {

so nun zeigts mir die reichitgen bilder an

danke für deine rasche hilfe Püppchen!

freundliche Grüsse
Marco

*edit2*

omg - mein chef möchte nun noch die namen der bilder darunter angezeigt haben ...also falls jemand gerade ne idee hat -.-
marco ist offline   Mit Zitat antworten
Alt 01.03.05, 16:58   #6 (permalink)
Member of Honour
 
Registriert seit: 20.10.01
boppy Leistung: Facit NTK
boppy eine Nachricht über ICQ schicken
Likes: 0
Standard

Ich hoffe, das hier kommt dem Sinn recht nahe:
PHP-Code:
<html>
<body>
<?
/* cmnt by boppy:
 * Ich programmiere grundsätzlich strukturiert, dass heißt, dass ich darauf achte,
 * dass der HTML-Quelltext leicht verständlich ist. desahlb setze ich öft neue
 * Zeilen (\n) und viele leertasten ein. Du kannst Sie bei bedarf natürlich
 * löschen!
 *
 * Beste Grüße
 *  Henning Bopp
 *  aka boppy
 */


// Initialisiert das einzulesende Verzeichnis
$handle opendir("/var/www/html/shop/images/products/");

// Konstruiert die Tabelle und beginnt direkt eine Zeile
echo("\n<table>\n  <tr>");

// durchläuft das Verzeichnis
while ($file readdir($handle)) {
    if(
$file != "." && $file != ".." && !strstr($file,"_k")) {
        
// prüft, ob der rest aus $n durch 5 gleich 0 ist oder ob es durchgang 1 ist.
        //  wenn eins von beiden richtig (TRUE) ist, beginnt er eine neue zeile!
        //  Da wir nur eine Zeile als Befehl haben, können wir die geschwungenen
        //  Klammern weg lassen
        
if($n%== && $n!=0) echo("\n  </tr>\n  <tr>");
        
        
// Tabellenzelle wird erstellt. Unter das Bild wird der Dateiname geschrieben.
        // Der Link ist in einer <a> ausgelagert, damit es keine Probleme gibt mit
        //  älteren browsern
        
echo("\n    <td width=\"100\">");
        echo(
"<a href=\"#\" onclick=\"java script:opener.new_product.products_image_exist.value='$file';window.close();\">");
        echo(
"<img src=\"/shop/images/products/$file\" width=\"80\"><br>$file</a>\n");
        echo(
"</td>"); //statt th (TableHead) solltest du TD benutzen!

        // erspart dir den counter oben. $n wird, wenn nötig, angelegt und um 1
        //  erhöht... (Im ersten durchgang ist $n also null)
        
$n++;
    }
}

// Wenn wir keine durch 5 teilbare anzahl an Bidlern im Verzeichnis haben, sollten
// wir die Tabelle mit leeren Zellen füllen, damit es keine Probleme gibt!
if($n%5!=0) for($i=0;$i<($n%5-1);$i++) echo("\n    <td>&nbsp;</td>");

// Recht HTML-Konform wird nun die letze Zeile noch geschlossen und die tabelle beendet
echo("\n  </tr>");
echo(
"\n</table>");
closedir($handle);
?>
</body>
</html>
boppy ist offline   Mit Zitat antworten
Alt 01.03.05, 18:24   #7 (permalink)
Moderator
 
Benutzerbild von PuppE
 
Registriert seit: 13.12.04
PuppE Leistung: Facit NTK
Likes: 0
Standard

ups, ja sorry stimmt musste noch n ! davor, ja das passiert wenn man eigentlich schon auf m weg ins fitti is *g*
den namen unten drunter schreiben is eigentlich ganz einfach musst nur das ändern (in der while schleife)
PHP-Code:
echo "<th width=100>";
echo 
"<img onclick=\"java script:opener.new_product.products_image_exist.value='$file';window.close();\" src=\"/shop/images/products/$file\"width=\"80\">\n<br>";
$name strtok($file".");
echo 
$name;
echo 
"</th>"
*g* schön das ich deine arbeit machen durfte

mfg

püppi
[EDIT]
@boppy:
das: if($file != "." && $file != ".." && !strstr($file,"_k")) {
kannst du nicht schreiben da _k auch im normalen namen vorkommen kann, deshalb hab ich noch .jpg dazu genommen
[/EDIT]
__________________
[Wer glaubt, dass Projektleiter Projekte leiten, glaubt auch, dass Zitronenfalter Zitronen falten.]
PuppE ist offline   Mit Zitat antworten
Alt 01.03.05, 19:27   #8 (permalink)
Member of Honour
 
Registriert seit: 20.10.01
boppy Leistung: Facit NTK
boppy eine Nachricht über ICQ schicken
Likes: 0
Standard

Zitat:
Original von PuppE
[EDIT]
@boppy:
das: if($file != "." && $file != ".." && !strstr($file,"_k")) {
kannst du nicht schreiben da _k auch im normalen namen vorkommen kann, deshalb hab ich noch .jpg dazu genommen
[/EDIT]
*g* da muss ich zugeben, dass ich es nur kopiert habe und nicht nachgedacht habe... du hast natürlich recht!
boppy ist offline   Mit Zitat antworten
Alt 03.03.05, 09:54   #9 (permalink)
Themenstarter
 
Registriert seit: 07.12.04
marco Leistung: Facit NTK
Likes: 0
Standard

o.O eigendlich geht ja alles, leider funktionierte heute morgen der upload nicht mehr, ich denke mir das es etwa hiermit zu tun hat:

if (isset($HTTP_POST_VARS['products_image_exist']))
{
$formularfeldname = "products_image_exist";
}

else {
$formularfeldname = "products_image";

}
$products_image = new upload($formularfeldname);
$products_image->set_destination(DIR_FS_CATALOG_PRODUCT_IMAGES);
if ($products_image->parse() && $products_image->save()) {
$products_image_name = $products_image->filename;
}


kann es sein das in der obersten if abfage etwas vertauscht wurde oder so ?

freundliche Grüsse
Marco
marco ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Web, Network & Multimedia Palace » (Web-) Design und webbasierte Sprachen » Javascript & PHP Probelm mit Bildergalerie
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Logikverständnis: Bildergalerie reaLInsanity (Web-) Design und webbasierte Sprachen 4 02.03.09 00:04
Bildergalerie reaLInsanity (Web-) Design und webbasierte Sprachen 3 08.12.08 18:00
gelöst: LAN-Probelm: "Netzwerkkabel wurde eentfernt" dan25z Network · LAN, WAN, Firewalls 7 13.11.07 18:30
IE Probelm Hinter Router volvicer Die Problemzone 4 16.04.04 10:54
JavaScript Chris Programmiersprachen 0 17.12.02 18:59


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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61