Jobausschreibung – PHP-Skript

Guten Abend,

ich suche jemanden, der mit ein Skript in PHP erstellt, welches nachfolgend beschrieben ist. Da das Ganze auch mit Arbeit verbunden ist, bin ich auch gerne bereit, etwas dafür zu bezahlen. Aber da das Skript lediglich privat eingesetzt wird, bitte ich um realistische Kostenvorschläge.

Das Skript soll aus zwei Teilen bestehen:
Teil a (Deklarationsteil) steht dauerhaft in der anzeigenden Datei. Dort wird die auszugebende Galerie definiert und ein Zähler wird auf „1“ gesetzt. Beispiel:

$galerie = „galerie_01“; $zaehler = „1“;

Teil b (Verarbeitungsteil) soll in die anzuzeigende Datei inkludiert werden und den Inhalt eines Ordners etwa wie folgt ausgeben:

$bild soll für das ausgegebene Bild stehen. Am Ende des Skripts muss der Zähler (§zaehler) um 1 erhöht werden, damit er beim zweiten Aufruf bei 2 steht u.s.w…
Des Weiteren soll nur der angegebene Ordner ausgelesen und ausgegeben werden und die Anordnung der Bilder soll einer natürlichen Sortierung folgen. Da das Dateiformat der Bilder variieren kann, sollte das Skript mindestens die Dateiformate GIF, JPG und PNG ausgeben können.

Vielleicht ist jemand so freundlich und erstellt mir das Skript. Bei Nachfragen stehe ich gerne zur Verfügung.

Gruß elsner

<?php

$gal = 'galerie_01';

$pics = scandir($gal);

foreach($pics as $i => $v)
   if(!is_file($gal."/".$v))
      unset($pics[$i]);
?>

<!-- HTML-Stuff -->

<?php foreach($pics as $idx => $pic): ?>
  <a id=“thumb<?=$idx?>" rel=”group” href=”<?="$gal/$pic"?>"><img src=”$gal/vorschau/$pic”></a>
<?php endforeach; ?>

So in etwa…

[quote=“michi7x7”]
So in etwa…[/quote]
Vielen Dank für dich schnelle Antwort.

Ich habe es mal 1:1 in eine Testseite eingeladen. Aber leider wird eine Fehlermeldung ausgegeben. Siehe http://test.elpixo.de/test/.

index.php:

[code]

test <?php $gal = 'galerie_01'; $pics = scandir($gal); foreach($pics as $i => $v) if(!is_file($dir."/".$v)) unset($pics[$i]); ?> <?php foreach($pics as $idx => $pic): ?>

<a id=“thumb<?=$idx?>" rel=”group” href=”<?="$gal/$pic"?>">

<?php endforeach; ?> [/code] Wo liegt der Fehler? Könntest du mir da nochmal unter die Arme greifen? Danke.

foreach($pics as $i => $v) if(!is_file($dir."/".$v))
Hier muss statt $dir natürlich $gal stehen, wenn das den Verzeichnisnamen enthält.

chrisb ist richtig. hatte zuerst $dir für den Verzeichnisnamen verwendet :wink:

Skript ist geupdatet

[quote=“chrisb”]foreach($pics as $i => $v) if(!is_file($dir."/".$v))
Hier muss statt $dir natürlich $gal stehen, wenn das den Verzeichnisnamen enthält.[/quote]
Danke, das war das Problem.

Leider funktioniert es noch nicht einwandfrei. Der Zähler startet erst bei 2 und es werden auch andere Dateiformate (als Beispiel TXT) ausgegeben.
Bekommt ihr das vielleicht auch noch hin? Vielen Dank im Voraus.

Skript (da ich auch ein wenig geändert habe):

[code]$gal = ‘galerie_01’;

$pics = scandir($gal);

foreach($pics as $i => $v)
if(!is_file($gal."/".$v))
unset($pics[$i]);
?>

<?php foreach($pics as $idx => $pic): ?>

<a id=“thumb<?=$idx?>” rel=“group” href="<?="$gal/$pic"?>"><img src="<?="$gal/vorschau/$pic"?>">

<?php endforeach; ?>[/code]

Warum sagst du nicht, dass da auch anderes Zeug rumliegt O.o

[code]$gal = ‘galerie_01’;

$pics = scandir($gal);

foreach($pics as $i => $v)
if(!is_file($gal."/".$v) || !getimagesize($gal."/".$v))
unset($pics[$i]);
?>

<?php foreach(array_values($pics) as $idx => $pic): $idx++; ?>

<a id=“thumb<?=$idx?>” rel=“group” href="<?="$gal/$pic"?>"><img src="<?="$gal/vorschau/$pic"?>">

<?php endforeach; ?>[/code]

Es ist ja auch gar kein „richtiger” Zähler, sondern es wird der nummerische Array-Index ausgegeben. Und der wird durch das unset, das bestimmte Array-Elemente entfernt, nicht neu gesetzt.

Aber in der Schleife eine eigene Zählvariable einzubauen, wirst du doch wohl selber hinbekommen?

Logisch, eine entsprechende Überprüfung ist ja auch noch gar nicht enthalten.

[quote=“michi7x7”]Warum sagst du nicht, dass da auch anderes Zeug rumliegt O.o

[code]$gal = ‘galerie_01’;

$pics = scandir($gal);

foreach($pics as $i => $v)
if(!is_file($gal."/".$v) || !getimagesize($gal."/".$v))
unset($pics[$i]);
?>

<?php foreach(array_values($pics) as $idx => $pic): $idx++; ?>

<a id=“thumb<?=$idx?>” rel=“group” href="<?="$gal/$pic"?>"><img src="<?="$gal/vorschau/$pic"?>">

<?php endforeach; ?>[/code][/quote]

Entschuldige, ich dachte, dass geht aus der Beschreibung hervor.
Aber vielen Dank, jetzt funktioniert es wie gewollt.