bräuchte eine alphabet-sortierfunktion für ein php-script
Hormic
- php
hallo,
ich verwende hier ein script, dessen hp es leider nicht mehr gibt.
meine frage, das script generiert eine seite wo bilderordner aufgeführt sind,
die beim öffenen thumbnails anzeigen.
leider sind die bilderordner nicht geordnet,
ich bräuchte eine funktion, die die gefundenen ordner alphabethisch ordnet.
kann mir da wer weiterhelfen??
das script:
PHP-Quellcode:
<?php
#################################################################
## ShowPics V1.1 - http://www.codeschnipsel.net ##
## Fragen, Anregungen: info@codeschnipsel.net ##
## ##
## Alle Rechte vorbehalten ##
## Copyright Sascha Wolterink ##
## Dieses Script darf unverändert zum Donwload ##
## angeboten werden, der Hinweis auf den ##
## Rechteinhaber darf nicht entfernt werden. ##
#################################################################
##### KONFIGURATION #############################################
$pic_zeile = "4";
// Anzahl der Fotos in einer Zeile. Standard "4"!
$datei_end = array("gif", "jpg");
// Dateiformate die angezeigt werden sollen. Standard "gif, jpg"!
$groesse = "100";
// Größe der Thumbnails. Standard "100"!
$name_anz = "ja";
// Soll der Dateiname angezeigt werden? Standard "ja"!
$border = "0";
// Breite des Tabellenrahmens? Standard "0"!
$gd_lib = "2.0";
// GD-Lib - Entweder "1.6" oder "2.0"!
// Layout
$body = "<body bgcolor=#ffffff text=#000000 link=#ffd700 alink=#FFffff vlink=#ffd700>";
$font = "<font face=verdana size=2>";
##### KONFIGURATION #############################################
?>
<html>
<head>
<title>Fruehling Foto Gallerie</title>
</head>
<body text="#000000" bgcolor="#daecb0" link="#000000" alink="#ffd700" vlink="#000000">
<table width="765" border="0" align="left">
<tr>
<td width="760" align="left" valign="top" height="558" background="../images/allgemein/hg_pic1.gif">
<?php
echo "$body";
echo "$font";
?>
<div align="center">
<script language="JavaScript">
function fenster(name) {
var breite = screen.width - 10;
var hoehe = screen.height - 60;
NewWin = window.open("ausgabe.php?file="+name, "Foto", "width="+breite+", height="+hoehe+", top=0, left=0, location=no, menubar=no, status=no, toolbar=no, scrollbars=yes, resizable=yes");
}
</script>
<?php
##### HIER NIX MEHR ÄNDERB ######################################
$datei_name = $_SERVER["PHP_SELF"];
$fileplace = ".";
if (isset($pfad) || empty($pfad)) echo "<h2>" .$pfad. "</h2>";
function createThumb($img_src, $img_width , $img_height, $des_src, $folder) {
if (!file_exists($folder. "/" .$des_src)) {
umask(0000);
if (!mkdir($folder. "/" .$des_src, 0777)) {
die("Konnte Ordner ".$folder. "/" .$des_src." nicht erstellen!");
}
}
$im = imagecreatefromjpeg($folder. "/" .$img_src);
list($src_width, $src_height) = getimagesize($folder. "/" .$img_src);
if($src_width >= $src_height) {
$new_image_width = $img_width;
$new_image_height = $src_height * $img_width / $src_width;
}
if($src_width < $src_height) {
$new_image_height = $img_width;
$new_image_width = $src_width * $img_height / $src_height;
}
if ($gd_lib == "1.6") {
$new_image = imagecreate($new_image_width, $new_image_height);
imagecopyresized($new_image, $im, 0, 0, 0, 0, $new_image_width,$new_image_height, $src_width, $src_height);
}
else {
$new_image = imagecreatetruecolor($new_image_width, $new_image_height);
imagecopyresampled($new_image, $im, 0, 0, 0, 0, $new_image_width,$new_image_height, $src_width, $src_height);
}
imagejpeg($new_image, $folder. "/" .$des_src. "/" .$img_src, 100);
}
function name_of_file($filename) {
$len = strlen(strrchr($filename,"."));
$ganz = strlen($filename) + 1;
$grafik = substr($filename,$ganz-$len);
return $grafik;
}
$i = 0;
$zaehler = 0;
if (!isset($pfad) ||
empty($pfad)) {
$verz = opendir ($fileplace);
while ($file = readdir ($verz)) {
if (name_of_file($file) == "" &&
$file != "." &&
$file != ".." ) {
$zaehler++;
echo "<BR><a href=" .$datei_name. "?pfad=" .$file. ">" .$file. "</a>";
}
}
closedir($verz);
}
else {
if (file_exists($pfad)) {
$verz = opendir ($pfad);
echo "<table border=$border cellpadding=10>";
while ($file = readdir ($verz)) {
$filegrafik = strtolower(name_of_file($file));
if (in_array ($filegrafik, $datei_end)) {
$i++;
$zaehler++;
if ($i == $pic_zeile + 1) {
$i = 1;
echo "<tr>";
}
// if (!file_exists($pfad. "/thumbnails/" .$file))
createThumb($file, $groesse, $groesse, "thumbnails", $pfad);
echo "<td align=center><a href="javascript: fenster('" .$pfad."/".$file. "');"><img src=" .$pfad."/thumbnails/".$file. " border=0 alt=".$file."></a>";
if ($name_anz == "ja") echo "<BR><font size=1>".$file."</font>";
echo "</td>";
if ($i == $pic_zeile + 1) {
$i = 1;
echo "</tr>";
}
}
}
echo "</table>";
closedir($verz);
}
else {
echo "Fotoalbum " .$pfad. " nicht gefunden!";
}
}
if (!isset($pfad) ||
empty($pfad)) {
echo "<BR><BR>";
echo $zaehler." Fotoalben vorhanden";
}
else {
echo "<BR><BR>";
echo $zaehler." Fotos vorhanden";
}
if(isset($pfad) ||
!empty($pfad)) {
echo "<BR>";
echo "<a href=" .$datei_name. ">zurück zur Auswahl</a>";
}
echo "<BR><BR><BR><hr width=100>";
echo "<font size=1><a href="http://www.codeschnipsel.net" target="_blank">ShowPics V1.1</a></font>";
?>
</div>
</td>
</tr>
<tr height="20">
<td width="760" align="left" valign="top" height="20" background="../images/allgemein/footer.gif"><font size=1><a href="http://www.codeschnipsel.net" target="_blank">ShowPics V1.1</a></font>";</td>
</tr>
</table>
</body>
</html>
danke für hinweise und tipps
gruss
hormic
Hi.
Ich habe leider nicht die Zeit, das Script umzuschreiben, aber hier ein Tipp: lasse die Ordner in ein Array schreiben und mit asort() alphabetisch ordnen. Danach kann die Schleife mit der Bildersuche über das Array laufen.
Vielleicht bist Du mit dem Script vertraut genug, die Änderungen vorzunehmen.
Gruß,
Chriz
danke für den hinweis,
leider werd ich das alleine nicht schaffen, wie müsste die
speicherung der ordnernamen aussehen?
Ahoi Hormic,
wie müsste die
speicherung der ordnernamen aussehen?
solange es ordner gibt
{
$array[] = ordnername;
}
asort($array);
MfG
Ahoi Hormic,
wie müsste die
speicherung der ordnernamen aussehen?solange es ordner gibt
{
$array[] = ordnername;
}
asort($array);MfG
ok ich hab jetzt folgendes:
while ($file = readdir ($verz)) {
if (name_of_file($file) == "" &&
$file != "." &&
$file != ".." ) {
$filear[] = $file;
$zaehler++;
}
asort($filear);
wie gebe ich das jetzt aus?
das wäre der alte ausgabebefehl:
"<BR><a href=" .$datei_name. "?pfad=" .$file. ">" .$file. "</a>";