|
You last visited: Today at 10:30
Advertisement
[PHP]Ordnen
Discussion on [PHP]Ordnen within the Web Development forum part of the Coders Den category.
01/06/2012, 09:37
|
#1
|
elite*gold: 25
Join Date: Jul 2008
Posts: 425
Received Thanks: 28
|
[PHP]Ordnen
Hey epvpler
ich will das hier nach dem Alphabet ordnen.. wie genau mach ich das jetzt?
PHP Code:
<?php
// Verzeichnisname angeben
$verzeichnisname = "Bilder";
// Öffnet das Verzeichnis
$verzeichnis = openDir($verzeichnisname);
// Verzeichnis lesen
while ($file = readDir($verzeichnis)) {
// Dateityp filtern
if (strstr($file, ".png")) {
// Datei zum lesen öffnen
$datei = fOpen($verzeichnisname . "/" . $file, "r");
// 1000 Zeichen lesen
$inhalt = fRead($datei, 1000);
// Datei schließen
fClose($datei);
// Titelnamen extrahieren
preg_match("/<title>(.*?)</i" , $inhalt , $titel);
// Link erstellen
echo "<a href=\"Bilder/$file\">$file</a><br>\n";
unset($titel[1]); // Variable löschen
}
}
closeDir($verzeichnis); // Verzeichnis schließen
?>
Mfg DerSaboteur
|
|
|
01/06/2012, 11:35
|
#2
|
elite*gold: 2
Join Date: May 2011
Posts: 448
Received Thanks: 110
|
Hm du musst erst alle in ein array reinschreiben lassen und dann sortiert ausgeben
Hier dann wie du das array ausgeben solltest  ist unabhängig von groß und kleinschreibung
Quote:
<?php
$tiere = array("biene", "Zebra", "elefant", "Affe");
sort(strtolower($tiere));
foreach($tiere as $blubb => $tier){
echo $tier."<br />";
}
|
|
|
|
01/06/2012, 12:28
|
#3
|
elite*gold: 146
Join Date: May 2009
Posts: 3,764
Received Thanks: 6,974
|
PHP Code:
<?php // Verzeichnisname angeben $verzeichnisname = 'Bilder';
// Variablen definieren $files = array();
// Öffnet das Verzeichnis if(!($dp = @opendir($verzeichnisname))) die ('Kann Verzeichnis "'.$verzeichnisname.'" nicht öffnen.');
// Verzeichnis lesen while($file = readdir($dp)) { // Dateityp filtern if (strstr($file, '.png')) { // Ein Array aus den gefundenen Objekten erstellen $files[] = $file; } } // Verzeichnis schließen closedir($dp); // Array sortieren krsort($files);
// Array ausgeben foreach ($files as $file) { // Datei zum lesen öffnen $datei = fOpen($verzeichnisname . '/' . $file, 'r'); // 1000 Zeichen lesen $inhalt = fRead($datei, 1000); // Datei schließen fClose($datei); // Titelnamen extrahieren preg_match('/<title>(.*?)</i' , $inhalt , $titel); // Link erstellen echo "<a href=\"Bilder/$file\">$file</a><br>\n"; } ?>
Je nachdem, was genau du vor hast, geht das aber auch einfacher
|
|
|
01/06/2012, 13:34
|
#4
|
elite*gold: 25
Join Date: Jul 2008
Posts: 425
Received Thanks: 28
|
Quote:
Originally Posted by Whoknowsit
PHP Code:
<?php
// Verzeichnisname angeben
$verzeichnisname = 'Bilder';
// Variablen definieren
$files = array();
// Öffnet das Verzeichnis
if(!($dp = @opendir($verzeichnisname))) die ('Kann Verzeichnis "'.$verzeichnisname.'" nicht öffnen.');
// Verzeichnis lesen
while($file = readdir($dp)) {
// Dateityp filtern
if (strstr($file, '.png')) {
// Ein Array aus den gefundenen Objekten erstellen
$files[] = $file;
}
}
// Verzeichnis schließen
closedir($dp);
// Array sortieren
krsort($files);
// Array ausgeben
foreach ($files as $file) {
// Datei zum lesen öffnen
$datei = fOpen($verzeichnisname . '/' . $file, 'r');
// 1000 Zeichen lesen
$inhalt = fRead($datei, 1000);
// Datei schließen
fClose($datei);
// Titelnamen extrahieren
preg_match('/<title>(.*?)</i' , $inhalt , $titel);
// Link erstellen
echo "<a href=\"Bilder/$file\">$file</a><br>\n";
}
?>
Je nachdem, was genau du vor hast, geht das aber auch einfacher 
|
Ich will einfach nur die dateien anzeigen die in dem ordner drin sind.. und alphabetisch ordnen.. nur tut er das nicht mit deinem script.. also die png files anzeigen + ordnen
|
|
|
01/06/2012, 20:21
|
#5
|
elite*gold: 146
Join Date: May 2009
Posts: 3,764
Received Thanks: 6,974
|
Doch, tut er. Aber so Zeilen wie
PHP Code:
preg_match('/<title>(.*?)</i' , $inhalt , $titel);
haben dann auch nichts dort zu suchen. Wenn's wirklich nur das ist, dann reicht das auch so:
PHP Code:
<? // Verzeichnisname angeben $verzeichnisname = 'Bilder';
// Verzeichnis auslesen und Ausgabe erzeugen foreach(glob($verzeichnisname . '/{*.png,*.gif}', GLOB_BRACE) as $image) { echo "<a href=\"{$verzeichnisname}/{$image}\">{$image}</a><br>\n"; } ?>
Das könnte man nun auch rekursiv machen (also auch Unterordner einbeziehen) und auch für weitere Dateiformate, oder auch alle Dateien (dazu einfach {*.png,*.gif} durch {*.*} ersetzen)
|
|
|
01/06/2012, 21:35
|
#6
|
elite*gold: 25
Join Date: Jul 2008
Posts: 425
Received Thanks: 28
|
Quote:
Originally Posted by Whoknowsit
Doch, tut er. Aber so Zeilen wie
PHP Code:
preg_match('/<title>(.*?)</i' , $inhalt , $titel);
haben dann auch nichts dort zu suchen. Wenn's wirklich nur das ist, dann reicht das auch so:
PHP Code:
<? // Verzeichnisname angeben $verzeichnisname = 'Bilder';
// Verzeichnis auslesen und Ausgabe erzeugen foreach(glob($verzeichnisname . '/{*.png,*.gif}', GLOB_BRACE) as $image) { echo "<a href=\"{$verzeichnisname}/{$image}\">{$image}</a><br>\n"; } ?>
Das könnte man nun auch rekursiv machen (also auch Unterordner einbeziehen) und auch für weitere Dateiformate, oder auch alle Dateien (dazu einfach {*.png,*.gif} durch {*.*} ersetzen)
|
mh ja das oben war fertiges Script ausem internet.. aus google ich habe von php-kurs.com alle cds bestellt ich lerne das im mom noch^^
ordnet sich das den? ich seh dort kein sort()
€dit : Der gibt beim link 2 mal den selben ordner aus und ich weiß nicht wieso ô.ô
|
|
|
01/07/2012, 13:38
|
#7
|
elite*gold: 146
Join Date: May 2009
Posts: 3,764
Received Thanks: 6,974
|
War mein Fehler
PHP Code:
<? // Verzeichnisname angeben $verzeichnisname = 'Bilder';
// Verzeichnis auslesen und Ausgabe erzeugen foreach(glob($verzeichnisname . '/{*.png,*.gif}', GLOB_BRACE) as $image) { echo "<a href=\"{$image}\">{$image}</a><br>\n"; } ?>
Schau dir die Funktion "glob" an, dann weißt du, warum du kein sort() siehst
|
|
|
01/07/2012, 20:11
|
#8
|
elite*gold: 25
Join Date: Jul 2008
Posts: 425
Received Thanks: 28
|
Quote:
Originally Posted by Whoknowsit
War mein Fehler
PHP Code:
<? // Verzeichnisname angeben $verzeichnisname = 'Bilder';
// Verzeichnis auslesen und Ausgabe erzeugen foreach(glob($verzeichnisname . '/{*.png,*.gif}', GLOB_BRACE) as $image) { echo "<a href=\"{$image}\">{$image}</a><br>\n"; } ?>
Schau dir die Funktion "glob" an, dann weißt du, warum du kein sort() siehst 
|
dankescheon ich werd mal bei php.net lesen was diese "glob" ist
€dit: GLOB_BRACE - {a,b,c} prüft auf 'a', 'b', oder 'c'
|
|
|
01/07/2012, 22:57
|
#9
|
elite*gold: 146
Join Date: May 2009
Posts: 3,764
Received Thanks: 6,974
|
Glob sortiert automatisch, es sei denn, GLOB_NOSORT ist gesetzt.
Nicht mehr und nicht weniger
|
|
|
01/08/2012, 03:14
|
#10
|
elite*gold: 25
Join Date: Jul 2008
Posts: 425
Received Thanks: 28
|
Quote:
Originally Posted by Whoknowsit
Glob sortiert automatisch, es sei denn, GLOB_NOSORT ist gesetzt.
Nicht mehr und nicht weniger 
|
Jüps!  dankeschoen
gibs ne möglichkeit nur die Titel anzuzeigen? und nicht gleich den ganzen link dahin? im mom zeigt der mir "bilder/xxxxxx.png" und vill eine eine image vorschau? z.B.
BILD
xxxxxx.png (mit verlinkung)
sorry das ich soviel verlange :P
|
|
|
01/08/2012, 13:16
|
#11
|
elite*gold: 146
Join Date: May 2009
Posts: 3,764
Received Thanks: 6,974
|
Um nur den Dateinamen anzeigen zu lassen, machst du folgendes:
PHP Code:
echo "<a href=\"{$verzeichnisname}/{$image}\">".basename($image)."</a><br>\n";
Wenn du die Bilder anzeigen lassen möchtest, an Stelle der Dateinamen, könntest du das so machen:
PHP Code:
echo '<a href="'.$verzeichnisname.'/'.$image.'"><img src="'.$image.'" width="100" style="border:none" alt="'.basename($image).'" title="'.basename($image).'" /></a> ';
Am Ende könnte das Ganze dann so aussehen:
PHP Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Eine kleine Bildergalerie</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Content-Language" content="de" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="-1" />
<meta http-equiv="Cache-Control" content="no-cache" />
<style type="text/css">
.photo-link {
border:1px solid #ccc;
display:block;
width:200px;
float:left;
margin:5px;
padding:5px;
}
.photo-link:hover {
border-color:#999;
}
</style>
</head>
<body>
<?
// Verzeichnisname angeben
$verzeichnisname = 'Bilder';
// Verzeichnis auslesen und Ausgabe erzeugen
foreach(glob($verzeichnisname . '/{*.png,*.gif}', GLOB_BRACE) as $image) {
echo '<a href="'.$verzeichnisname.'/'.$image.'" class="photo-link"><img src="'.$image.'" width="100" alt="'.basename($image).'" title="'.basename($image).'" /></a> ';
}
?>
</body>
</html>
|
|
|
01/08/2012, 20:50
|
#12
|
elite*gold: 25
Join Date: Jul 2008
Posts: 425
Received Thanks: 28
|
Code:
Warning: Invalid argument supplied for foreach() in /var/www/web127218/html/test.php on line 37
wofür sind diese ganzen meta in html? die kenne ich garnicht!?
|
|
|
01/08/2012, 21:13
|
#13
|
elite*gold: 146
Join Date: May 2009
Posts: 3,764
Received Thanks: 6,974
|
Ich kriege die Fehlermeldung nicht. Die Metatags baue ich Standardmäßig bei mir ein
|
|
|
01/08/2012, 21:47
|
#14
|
elite*gold: 25
Join Date: Jul 2008
Posts: 425
Received Thanks: 28
|
Quote:
Originally Posted by Whoknowsit
Ich kriege die Fehlermeldung nicht. Die Metatags baue ich Standardmäßig bei mir ein 
|
lag dran das ich im Bilder ordner keine bilder drinn hatte xDDD
und ich musste
PHP Code:
{$verzeichnisname}/
entfernen sonst zeigte der mir 2mal den selben ordner an
alles klar funzt alles gibs den die möglichkeit
beides anzuzeigen? den namen + das bild
|
|
|
01/08/2012, 22:06
|
#15
|
elite*gold: 146
Join Date: May 2009
Posts: 3,764
Received Thanks: 6,974
|
Klar, ist nurnoch ein wenig HTML. Ich denke, dass du das selbst hinbekommst
|
|
|
 |
|
Similar Threads
|
Chest/Inventar ordnen (n.A.)
08/01/2011 - Minecraft - 2 Replies
Hallo ,
Ich hatte mal in MInecraft einen Mod der das Inventar und Chests ordnen kann .
Das ist schon sehr lange her .. Seit dem habe ich meinen PC neu installiert .
Jetzt wollte ich mal Fragen ob jemand diesen Mod für die Beta 1.7.3 hat .
Danke im Voraus . :O
|
[Funktion] Ordnen nach Thanks
05/11/2011 - Off Topic - 5 Replies
Hallooo,
also ich würde die Funktion "Ordnen nach Thanks" gerne haben.
Es ist für größere Threads wie z.B. "Funny Pics" sehr sinnvoll, da man manchmal keine Lust hat 10 Seiten abzutasten, um vielleicht 1-5 lustige Bilder zu finden.
So würde man die lustigsten Bilder auf einem Blick haben;)
Auch in anderen Threads würde man sofort die Sinnvollen Posts sofort sehen und müsste nicht danach suchen.
Was haltet ihr von dieser Idee?
|
Shop Ordnen
06/11/2010 - Metin2 Private Server - 5 Replies
Hi mal eine dumme Frage habe leider nichts gefunden...
Wie ordnet man einen Shop das die items einen bestimmten Platz haben ??
In der Shop_item geht das schonma net denk ich
weil ich die untereinander geschrieben habe aber im Shop sind die Wild durcheinander
Bitte um Hilfe
|
GUI Tasten Funktionen zu ordnen ??
05/29/2010 - AutoIt - 4 Replies
soooo hab mich jetzt was durch den AutoIt Jungel gelesen und hab mir mit hilfe vin Koda FormDesigner nen kleinen Fenster gebastelt
und hab versucht dem start knopf zu sagen wenn er gedrückt wird das die schleife anfängt zu arbeiten
#include <GUIConstants.au3>
#Region ### START Koda GUI section ### Form=
$frmMain = GUICreate("RübenBot", 450, 85, 308, 178)
$Button1 = GUICtrlCreateButton("Start", 0, 0, 449, 57, 0)
$Label1 = GUICtrlCreateLabel(" Du hast 10 Sekunden um in den...
|
Items im Shop ordnen?
03/06/2010 - Metin2 Private Server - 5 Replies
Hi, also wenn ich neue Items in die Tabelle shop_item und damit in das Spiel einfügen möchte, klappt das zwar, aber die Items sind dann im Spiel bei den NPCs nicht geordnet. Gibt es ne Möglichkeit die Items nach meinen Vorstellungen zu ordnen?
Schon mal thx :-)
|
All times are GMT +1. The time now is 10:30.
|
|