tutorials.de Buch-Aktion 05/2012
Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
NEIN
ANTWORTEN
20
ZUGRIFFE
402
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Jamonit
    Jamonit Jamonit ist offline Mitglied Silber
    Registriert seit
    Oct 2002
    Ort
    Osnabrück (Niedersachsen)
    Beiträge
    72
    Hallo,

    auch in Gefahr hin, dass ich die Suchfunktion nicht ausreichend genutzt habe, stelle ich mal meine Frage:

    Ich habe ca. 180 Bilddateien in einem Ordner. Dazu habe ich eine einfache HTML-Datei, die im oberen Teil, den Dateinamen anzeigen soll, darunter das Bild und im unteren Teil der Seite zwei Links, die auf das vordere und das kommende Bild verweisen sollen.

    Nun würde ich es gerne so realisieren, dass ich nicht 180 einzelne HTML Dateien erzeugen muss. Ich habe mir gedacht einfach immer um einen hochzuzählen (klassisches "n+1", bzw. "n-1"). So dass quasi der Bildname immer um einen erweitert wird (pic001.jpg --> pic002.jpg,..) Leider habe ich so gut wie keine Ahnung von php, so dass mir der Ansatz fehlt. Vielleicht hat ja jemand von euch Lust und/oder Langweile, mir zu helfen.

    Vielen Dank im Vorraus,
    Jamonit
     

  2. #2
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    PHP-Code:
    <?php
    $image_dir 
    "./pics/";
    $count = ( isset($_GET['pic']) ? sprintf('%03d'$_GET['pic']) : '000' );
    $link '<a href="./test.php?pic=%d">%s</a>';

    $prev = ( file_exists($image_dir.'pic'sprintf('%03d'$count 1) .'.jpg') && $count sprintf($link$count 1'Previous') : 'Previous' );
    $next = ( file_exists($image_dir.'pic'sprintf('%03d'$count 1) .'.jpg') ? sprintf($link$count 1'Next') : 'Next' );
    ?>
    <html>
    <head>
    <title>Gallerie</title>
    </head>
    <body>
    <p align="center">&nbsp;</p>
    <p align="center">Rome/Italy october 2007</p>
    <p align="center"><img src="<?php echo $image_dir.'pic'.$count?>.jpg" width="850" height="565" /></p>
    <p align="center">&nbsp;</p>
    <div align="center">
    <table width="200" border="0">
    <tr>
    <td><?php echo $prev?></td>
    <td><div align="right"><?php echo $next?></div></td>
    </tr>
    </table>
    </div>
    <p align="center">&nbsp;</p>
    </body>
    </html>
    Ungetestet...

    Musst nur noch $image_dir anpassen, genau wie das Format deiner Bildnamen...
    Und ggf. den Linknamen.
    Geändert von Flex (21.10.07 um 00:19 Uhr) Grund: Korrektur
     
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

  3. #3
    Avatar von Jamonit
    Jamonit Jamonit ist offline Mitglied Silber
    Registriert seit
    Oct 2002
    Ort
    Osnabrück (Niedersachsen)
    Beiträge
    72
    Danke für die schnelle Antwort! Ich werd es gleich mal testen.

    so sieht meine standart-anzeige-html aus.

    <body>
    <p align="center">&nbsp;</p>
    <p align="center">Rome/Italy october 2007</p>
    <p align="center"><img src="/rome/small/001.jpg" width="850" height="565" /></p>
    <p align="center">&nbsp;</p>
    <div align="center">
    <table width="200" border="0">
    <tr>
    <td><a href="rome.php"><< BACK</a></td>
    <td><div align="right"><a href="pic002.php">NEXT >></a></div></td>
    </tr>
    </table>
    </div>
    <p align="center">&nbsp;</p>
    </body>
    </html>


    Grüße
    Jamonit
    Geändert von Jamonit (20.10.07 um 21:47 Uhr)
     

  4. #4
    Avatar von Jamonit
    Jamonit Jamonit ist offline Mitglied Silber
    Registriert seit
    Oct 2002
    Ort
    Osnabrück (Niedersachsen)
    Beiträge
    72
    Parse error: parse error, unexpected '?', expecting ',' or ')' in /srv/www/vhosts/xx/rome/pic001.php on line 12
     

  5. #5
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    Mein Fehler.

    PHP-Code:
    $count = ( isset($_GET['pic'] ? (int)$_GET['pic'] : '000' ); 
    Muss so aussehen:

    PHP-Code:
    $count = ( isset($_GET['pic']) ? (int)$_GET['pic'] : '000' ); 
    Hatte eine Klammer vergessen.
     
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

  6. #6
    Avatar von Jamonit
    Jamonit Jamonit ist offline Mitglied Silber
    Registriert seit
    Oct 2002
    Ort
    Osnabrück (Niedersachsen)
    Beiträge
    72
    Wenn ich es richtig verstanden habe, ist 'pic' ist dann der name meiner bildateien ohne suffix? Kannst du vielleicht noch in ein-zwei sätzen schreiben, wie genau ich den code implementiere, bzw. wohin ich ihn einfüge? Vielen Dank.
     

  7. #7
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    Siehe oben

    Probier es mal so.

    Die Datei muss in diesem Fall als gallery.php abgespeichert werden.
    Falls sie anders heißen soll, musst du $link ändern.
    Geändert von Flex (21.10.07 um 00:19 Uhr)
     
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

  8. #8
    Avatar von Jamonit
    Jamonit Jamonit ist offline Mitglied Silber
    Registriert seit
    Oct 2002
    Ort
    Osnabrück (Niedersachsen)
    Beiträge
    72
    okay, das habe ich jetzt soweit verstanden. allerdings zeigt er mir bei aufruf der datei folgenden fehler an:

    "Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in /srv/www/vhosts/xx/httpdocs/rome/ruhm.php on line 6

    Meine Bilddateien heißten pic001.jpg; pic002.jpg, etc. liegt vielleicht daran der fehler?
     

  9. #9
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    War noch ein Fehler meinerseits.

    Siehe oben.

    Oben in deinem Ausschnitt heißt das Bild aber 001.jpg?

    Habe es jetzt auf picXXX.jpg geändert.
    Geändert von Flex (21.10.07 um 00:20 Uhr)
     
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

  10. #10
    Avatar von Jamonit
    Jamonit Jamonit ist offline Mitglied Silber
    Registriert seit
    Oct 2002
    Ort
    Osnabrück (Niedersachsen)
    Beiträge
    72
    Okay, nun scheint es zu klappen. Das Bild wird angezeigt.

    Mein Hauptanliegen war/ist es jedoch, dass "Prev" und "next" als Link angezeigt und dementsprechend auf das vorherige und das kommende Bild verweisen sollen.

    Vorerst jedoch vielen Dank für das bereits vorhandene Script!

    Grüße
    Jamonit
     

  11. #11
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    Kleiner Denkfehler im Skript, ich hatte die führenden Nullen nicht bedacht...

    Siehe oben

    Und so?
    Geändert von Flex (21.10.07 um 00:20 Uhr)
     
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

  12. #12
    Avatar von Jamonit
    Jamonit Jamonit ist offline Mitglied Silber
    Registriert seit
    Oct 2002
    Ort
    Osnabrück (Niedersachsen)
    Beiträge
    72
    das Problem scheint eher was im generieren des Links zu sein. Es steht zwar previous und next, allerdings ist es normaler text und klickbarer link.

    P.S. wofür steht '%03d' ?
     

  13. #13
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    Hast du die Endung auch auf .jpg wieder geändert?

    Meine Testbilder waren gifs.

    %03d heißt, dass es immer 3 Stellen sind (Zahlen). Falls es weniger sind, soll er sie mit Nullen auffüllen.

    So entsteht aus 1 => 001, aber aus 10 wird 010.
     
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

  14. #14
    Avatar von Jamonit
    Jamonit Jamonit ist offline Mitglied Silber
    Registriert seit
    Oct 2002
    Ort
    Osnabrück (Niedersachsen)
    Beiträge
    72
    ja, habe sie wieder in .jpg geändert. Bild wird auch angezeigt, nur der eigentliche Link (prev/next) wird als normaler text angezeigt.
     

  15. #15
    Avatar von Bratkartoffel
    Bratkartoffel Bratkartoffel ist offline gebratene Kartoffel
    tutorials.de Premium-User
    Registriert seit
    Jun 2007
    Ort
    Passau (Niederbayern)
    Beiträge
    1.394
    Code :
    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
    
    <?php
    $image_dir = "./rome/small/";
    $count = ( isset($_GET['pic']) ? (int)$_GET['pic'] : '000' );
    $link = '<a href="./gallery.php?pic=%d">%s</a>';
     
    $prev = ( file_exists($image_dir.'pic'. sprintf('%03d', $count - 1) .'.gif') && $count > 0 ? sprintf($link, $count - 1, 'Previous') : 'Previous' );
    $next = ( file_exists($image_dir.'pic'. sprintf('%03d', $count + 1) .'.gif') ? sprintf($link, $count + 1, 'Next') : 'Next' );
    ?>
    <html>
    <head>
    <title>Gallerie</title>
    </head>
    <body>
    <p align="center">&nbsp;</p>
    <p align="center">Rome/Italy october 2007</p>
    <p align="center"><img src="<?php echo $image_dir.'pic'.$count; ?>.gif" width="850" height="565" /></p>
    <p align="center">&nbsp;</p>
    <div align="center">
    <table width="200" border="0">
    <tr>
    [COLOR="Red"]<td><a href="<?php echo $prev; ?>">Prev</a></td>
    <td><div align="right"><a href="<?php echo $next; ?>">Next</a></div></td>[/COLOR]
    </tr>
    </table>
    </div>
    <p align="center">&nbsp;</p>
    </body>
    </html>
    ?>

    Änderung rot markiert...
     
    Über eine gute Bewertung freut sich jeder ;)
    Bitte erledigte Threads als "Erledigt" markieren.

    "Though a program be but three lines long, someday it will have to be maintained.''
    -- Geoffrey James, "The Tao of Programming"

Ähnliche Themen

  1. vb hyperlink
    Von Nico der erste im Forum Visual Basic 6.0
    Antworten: 5
    Letzter Beitrag: 08.08.07, 07:05
  2. SWT: Hyperlink in swt?
    Von gring0 im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 1
    Letzter Beitrag: 03.08.07, 15:11
  3. Hyperlink
    Von baby-duck im Forum Visual Basic 6.0
    Antworten: 16
    Letzter Beitrag: 04.10.05, 15:35
  4. Hyperlink
    Von Stev im Forum HTML & XHTML
    Antworten: 3
    Letzter Beitrag: 13.10.04, 17:45
  5. hyperlink
    Von thecooper im Forum Visual Basic 6.0
    Antworten: 1
    Letzter Beitrag: 08.08.03, 10:28