Seite 1 von 1

Paralleles Verzeichnis: einlesen und ausgeben

Verfasst: Mo 09.Jun, 2008 11:52
von shadowrider
hallo Fachleute, ich bin am verzweifeln (und wenn ich weiter google dann wird das Chaos noch größer)

ich möchte aus einem parallelem Verzeichnis Bilder in ein Array einlesen und dann ausgeben

root->Bilderverzeichnis
root->Verzeichnis1->Scriptverzeichnis

entweder bekomme ich es hin, das die Bilder eingelesen werden, dann klappt die Ausgabe nicht, oder umgekehrt

kann mir wer auf die Sprünge helfen?

Verfasst: Mo 09.Jun, 2008 12:09
von oxpus
Abgesehen davon, daß ich nur 10% vom Problem verstanden habe, versuche ich mal Licht ins Dunkel zu bringen:

Du hast ein Verzeichnis, in dem Bilder vorhanden sind und willst diese Einlesen und in einem anderen Verzeichnis ausgeben? Also z. B. als Liste in einer Datei?
Wenn das so oder so nicht klappt, hast Du vermutlich versucht, das Verzeichnis und die Ausgabedatei mit der selben Variable zu steuern.
Also z. B. $fd = fopen(...); und "gleichzeitig" $fd = opendir(...);.
Das klappt natürlich nicht, da in $fd der jeweilige Kanal zur Datei/zum Verzeichnis beinhaltet und dann kann entweder nur gelesen oder nur geschrieben werden.

Ein möglicher Ansatzpunkt zum bestehenden Problem.

Verfasst: Mo 09.Jun, 2008 12:17
von shadowrider
Versuch einer besseren Beschreibung:
ich lade dynamisch Bilder hoch

es existiert ein Script, welches die Bilder aus dem Verzeichnis einliest und als Thumbs mit Link ausgibt. Das Script funktioniert prima, wenn es im Bildverzeichniss liegt.

ich kann jedoch das Script weder in einem parallelen Verzeichnis includen (da findet es nichts mehr), noch das Script in das parallele Verzeichnis legen und überreden die Bilder aus dem Originalverzeichnis zu lesen und auszugeben.

habe das script mal angehängt, so funktioniert es wenn es direkt im Bildverzeichnis liegt - ist inzwischen schwer verunstaltet :(

[ Attachment gelöscht am Mo 09.Jun, 2008 20:18 von oxpus ]

Verfasst: Mo 09.Jun, 2008 14:43
von oxpus
Vermutlich schon die Fehlerquelle:

Code: Alles auswählen

$Bildpfad = "live/";
Wenn Du das so angibst, kann das Script ggf. zwischen 2 Möglichkeiten "wählen":
- Ausgehend vom Webroot wird unter live/ gesucht
- Ausgehend vom aktuellen Verzeichnis gibt es ein Verzeichnis "live".
Um dieses absolut präzise zu formulieren, solltest Du mit

Code: Alles auswählen

$Bildpfad = './live/';
auf das aktuelle und demnach auch mit

Code: Alles auswählen

$Bildpfad = './../other/';
auf ein anderes Verzeichnis (hier "other") verweisen.
Also in diesem Fall relativ vom Verzeichnis ausgehend, in dem sich die Datei selber befindet.
Wenn Du dagegen absolute Angaben verwendest, also z. B. "www/webuser/html/htdocs/forum/live/" oder "www/webuser/html/htdocs/forum/other/" (Pfad jetzt mal nur als Beispiel angenommen), also ausgehend vom Server(!) Root, wäre es theoretisch sogar egal, wo sich das Script aufhält...

Und btw:
Angaben von Strings sollten besser immer in einfachen Hochkommas stehen, wenn sie keine Variablen enthalten. Die Verarbeitung ist dann einen Bruchteil einer Millisekunde schneller. Klingt verrückt, macht sich bei umfangreichen Datenverarbeitungen aber deutlich bemerkbar!

Und genau wie oben beschrieben, ist das Script nun auch umgebaut, also z. B.:

Code: Alles auswählen

	$infos = @getimagesize("./live/".$pic);
mit dem relativen Verweis ausgehend vom aktuellen Verzeichnis.
"./../" würde dabei eine Verzeichnisebene zurückgegehen, "./../other/" den Ordner "other" auf der gleichen Ebene wie "live" verwenden.
Nur muss das dann durchgängig durch das gesamte Script gemacht werden, damit alle Funktionen auch so arbeiten.

Verfasst: Mo 09.Jun, 2008 16:52
von shadowrider
Problem gelöst - irgendwie habe ich die ganze Zeit die relativen Pfade vermurkst

damit du nicht denkst ich wär der totale Schlamper habe ich die aufgräumte Datei mal angehängt - vielleicht gibts ja noch Verbesserungsvorschläge..

Verfasst: Mo 09.Jun, 2008 20:18
von oxpus
Nö, schaut soweit gut aus.
Kann man zunächst so lassen.