Getimagesize();

Joa, ich mal wieder…

Habe Follgendes Problem:

Eine Seite kann über mehrere Links aufgerufen werden, welche nicht im gleichen Verzeichnis liegen. (=>Die Seite 1.php wird aufgerufen unter: username.bplaced.net/1.php, username.bplaced.net/subdir1/1/, username.bplaced.net/subdir2/subdir3/1/)

Wenn ich getimagesize(); verwenden will, darf ich aber kein Pfad wie /img/image.png verwenden. Und wegen fsockopen() darf ich auch nicht username.bplaced.net/img/image.png eingeben…

Gibts noch ne dritte Möglichkeit?!? o.0

Chris

wie wärs mit ./img/image.png z.b.?

./ mag er auch nicht… Habs vorhin schon ausprobiert… warte, ich machs nochmal und edite dann die Fehlermeldung

EDIT:

Hab dann auch mal getestet, was passieren würde, wenn ich den Pfad richtig vom root aus nehme (hatte es immer vom subdomain root aus) ging aber auch nicht. Ja, der Pfas stimmt 100%ig… wenn ich des Verzeichniss an meine Domain dranhänge, dann wird das Bild angezeigt

Chris

ansonsten combine es halt mit dem Verzeichniss wo sich der user Befindet.
(glaub: /users/username/www/) oder nimm __DIR__.'/img/image.png'

Geht net

[quote]

Warning: getimagesize(/users/friend-portal/www/dev/vz/v2/pages/users/v2/style/img/no_pic.png) [function.getimagesize]: failed to open stream: No such file or directory in /users/friend-portal/www/dev/vz/v2/pages/users/profil.php on line 150[/quote]
(könnt ja selbst überprüfen, ob das Bild unter meinem Uname existiert, habt ja meinen uname & den Bild Pfad)

Chris

Lass mal den ersten Backslash weg, dann klappt es. Jedenfalls hab ich es mal so getestet.

[quote=“WebArt”]Geht net

[quote]

Warning: getimagesize(/users/friend-portal/www/dev/vz/v2/pages/users/v2/style/img/no_pic.png) [function.getimagesize]: failed to open stream: No such file or directory in /users/friend-portal/www/dev/vz/v2/pages/users/profil.php on line 150[/quote]
(könnt ja selbst überprüfen, ob das Bild unter meinem Uname existiert, habt ja meinen uname & den Bild Pfad)

Chris[/quote]
friend-portal.bplaced.net/dev/vz … no_pic.png gibts net bzw. Zugriff verweigert.

ja ne… eh lol…

Das war mit deinem COde… Der richtige Pfad steht hier drin:

Und wenn ich den Backslash davor weglasse, sucht er es, wenn ich die Datei über 1.php aufrufe in /v2/style/…
wenn ichs aber über bla/bla/bla/1/ aufrufe (HTACCESS machts möglich) dann würde es veruschen in bla/bla/bla/1/style/…

Deshalb brauche ich des irgendwie…

Chris

Der Pfad ist nicht falsch gewesen^^ Ist auch unmöglich :wink:
FILE ist immer das Aktuelle Script und DIR das Verzeichnis dazu^^

In deinem Fall liegt das Problem einfach daran das er keinen Zugriff auf die Datei hat.
(Siehe Link)

Also Datei rechte ändern und es sollte wieder gehen :wink:

'/users/friend-portal/www/dev/vz/v2/pages/users/v2/style/img/no_pic.png' __DIR__.'/dev/vz/v2/pages/users/v2/style/img/no_pic.png' './v2/style/img/no_pic.png' 'v2/style/img/no_pic.png'
Welche Art du nimmst ist egal^^ Alle das selbe :wink:

[quote=“WebArt”]Und wenn ich den Backslash davor weglasse, sucht er es, wenn ich die Datei über 1.php aufrufe in /v2/style/…
wenn ichs aber über bla/bla/bla/1/ aufrufe (HTACCESS machts möglich) dann würde es veruschen in bla/bla/bla/1/style/…[/quote]
Welche Auswirkung soll ein Rewriting auf HTTP-Ebene auf Filesystem-Ebene haben?

Wir reden hier über Zugriffe, die auf dem Dateisystem stattfinden - also kannst du per HTTP über sonstwas für einen Pfad zugreifen, das wirkt sich kein bisschen aus.

Und eine Referenzierung zum Wurzelverzeichnis mit / unter Einbeziehung von DOCUMENT_ROOT ist pauschal die beste und einfachste Lösung.

[quote=“White-Tiger”]Der Pfad ist nicht falsch gewesen^^ Ist auch unmöglich :wink:
FILE ist immer das Aktuelle Script und DIR das Verzeichnis dazu^^

In deinem Fall liegt das Problem einfach daran das er keinen Zugriff auf die Datei hat.
(Siehe Link)

Also Datei rechte ändern und es sollte wieder gehen :wink:

'/users/friend-portal/www/dev/vz/v2/pages/users/v2/style/img/no_pic.png' __DIR__.'/dev/vz/v2/pages/users/v2/style/img/no_pic.png' './v2/style/img/no_pic.png' 'v2/style/img/no_pic.png'
Welche Art du nimmst ist egal^^ Alle das selbe :wink:[/quote]

Bitte probiere doch den Pfad, den ich eben gesagt habe, der den du probiert hast, kam von dem DIR aber wie gesagt, das Bild ist TIEFER als die Datei die es aufruft, aber unterschiedlich tiefer…

@chrisb
Wir reden hier darüber, dass ich bei nem getimagesize() kein / vorne nehmen kann, und der Document root mir auch nicht weiterhilft!

Chris

Darüber redest du - vermutlich, weil du es noch nicht verstanden hast.

Ich bleibe dabei: Absolute Pfadangaben würden dein Problem lösen, wenn du es richtig machst.

[quote=“WebArt”][quote=“White-Tiger”]Der Pfad ist nicht falsch gewesen^^ Ist auch unmöglich :wink:
FILE ist immer das Aktuelle Script und DIR das Verzeichnis dazu^^

In deinem Fall liegt das Problem einfach daran das er keinen Zugriff auf die Datei hat.
(Siehe Link)

Also Datei rechte ändern und es sollte wieder gehen :wink:

'/users/friend-portal/www/dev/vz/v2/pages/users/v2/style/img/no_pic.png' __DIR__.'/dev/vz/v2/pages/users/v2/style/img/no_pic.png' './v2/style/img/no_pic.png' 'v2/style/img/no_pic.png'
Welche Art du nimmst ist egal^^ Alle das selbe :wink:[/quote]

Bitte probiere doch den Pfad, den ich eben gesagt habe, der den du probiert hast, kam von dem DIR aber wie gesagt, das Bild ist TIEFER als die Datei die es aufruft, aber unterschiedlich tiefer…

@chrisb
Wir reden hier darüber, dass ich bei nem getimagesize() kein / vorne nehmen kann, und der Document root mir auch nicht weiterhilft!

Chris[/quote]
sry ich verstehe atm echt dein Problem nicht^^ Wieso er das Bild nicht findet wurde bereits gesagt. (zumindest wenn deine angaben stimmen denn ich seh ja net wies aufm FTP aussieht) Es liegt einfach daran das der Pfad zwar richtig ist aber die Dateirechte nicht stimmen. Daher findet er diese einfach nicht.

wenn getimagesize in einer php-datei steht die mit “include” in eine andere datei eingelesen wird, muss man den pfad vom der datei die einliest wählen. daran könnte es noch liegen.

aber mit dem absoluten pfad müsste es immer gehen wie ein vorposter richtig meinte.

mfg Drenton

Ok, nochmal. Bitte nennt mir absolute Pfadangaben, die immer gehen, egal von wo sie aufgrufen werden.

Wieso das so ist?

Ich habe das Problem in der Datei profil.php welche über friendportal/portal/profil/{userhash} aufgerufen wird. Je nachdem was man gemacht hat, stehen nach dem userhash noch weiter Infos, welche durch eine HTACCESS in Gets umgewandelt werden.

Das Bild unter /v2/style/img/no_pic.png existiert genau an dem Pfad, und ist aufrufbar, siehe: dev.friend-portal.de/v2/style/img/no_pic.png

Wie mache ich des jetzt in der getimagesize(); dass ich nicht sowas wie …/ verwenden muss?

Chris

lol^^
Hörte sich so an als ob du relative nutzen wolltest :smiley:

[quote]Wenn ich getimagesize(); verwenden will, darf ich aber kein Pfad wie /img/image.png verwenden.[/quote]Nach dem Motto: du darfst so was wie /img/image.png nicht nutzen, möchtest es aber.

Den Absoluten hattest du aber auch schon gehabt^^

Also, was kann ich jetzt machn? Versteh net ganz was du meinst;-)

Chris

Da ich nicht weiß wie deine Ordner Struktur aussieht kann ichs net sagen^^

/users/friend-portal/www/dev/v2/style/img/no_pic.png oder /users/friend-portal/www/vz/v2/style/img/no_pic.png oder was ganz anderes.

/users/friend-portal/www/dev/vz/v2/style/img/no_pic.png

Das ist der genau Pfad zum Bild

EDIT: und die Datei, in der es aufgerufen wird, ist unter den Pfaden erreichbar:
/users/friend-portal/www/dev/vz/v2/index.php?p=profil&hash={hash}&var1={var1}&var2={var2}
Per HTACCESS sieht das dann so aus:
/users/friend-portal/www/dev/vz/v2/portal/profil/{hash}/{var1}/{var2}

Wobei var1 und var2 nur manchmal vorhanden sind, es also manchmal mehr “verzeichnisse” sind und manchmal weniger.

Chris

[quote=„WebArt“]/users/friend-portal/www/dev/vz/v2/style/img/no_pic.png

Das ist der genau Pfad zum Bild[/quote]
Und welche Meldung bekommst du, wenn du genau diesen bei getimagesize angibst?

Noch mal - wie du per HTTP auf die Scripte zugreifst, ist für eine Operation auf dem Dateisystem absolut uninteressant!