php: file_exists auf home.pages.at?
Spikx 27.12.2004 - 22:48 1407 19
Spikx
My Little Pwny
|
Folgende Situation: php file im root, im ordner images befindet sich die Datei 00.jpg. So funktionierts auf meinem wamp if (file_exists('./images/00.jpg')) echo "true";
aber nicht am home.pages.at Server (ja, bla, home.pages.at, wos bessas hob i hoit net ;P). Laut Kommentar auf php.net könnte das vielleicht was mitn unix system zu tun haben? Wenn ja, welche Funktionen muss ich verwenden und wie, damit ich dasselbe erreiche? Oder wird des dort schlicht und einfach gar nicht funktionieren...
Bearbeitet von Spikx am 22.01.2005, 11:48
|
moidaschl
Vollzeit-Hackler
|
was is die fehlermeldung? oder wird einfach ned true ausgegeben
|
Spikx
My Little Pwny
|
true wird net ausgegeben Hm.. muss i vielleicht doch mit pathinfo() arbeiten? Allerdings hat es auch nicht funktioniert wie ich $path = pathinfo($_SERVER['PATH_TRANSLATED']);
$dir = $path['dirname']."/images/00jpg";
verwendet habe.
Bearbeitet von Spikx am 27.12.2004, 23:32
|
dio
Here to stay
|
$path_to_file = $_SERVER['DOCUMENT_ROOT']."images/00.jpg";
if(file_exists($path_to_file)) echo "true";
EDIT: Oder du bleibst bei der Art ohne Document Root: if(file_exists("images/00.jpg")) echo "true";
|
Spikx
My Little Pwny
|
Funktioniert leider beides nicht. In $_SERVER['DOCUMENT_ROOT'] steht übrigens /home/pages/home/spikx (fois wos hüft...)
|
dio
Here to stay
|
$path_to_file = $_SERVER['DOCUMENT_ROOT']."/images/00.jpg";
if(file_exists($path_to_file)) echo "true";
So funktioniert's ebenfalls nicht?
|
Spikx
My Little Pwny
|
ah, blödsinn, sorry, $_SERVER['DOCUMENT_ROOT'] gibt .:/usr/local/lib/php/home/pages/home/ ohne username zurück.. und mit "/images..." funktionierts dann natürlich noch weniger: /home/pages/home/ /images/advemtd/00.jpg ![:)](/images/smilies/smile.gif) edit: username manuell dazugeben nützt eh auch nix (guat i schätz, des wor eh eher.. logisch)
Bearbeitet von Spikx am 27.12.2004, 23:24
|
Spikx
My Little Pwny
|
Hab's mit dieser Funktion nun hinbekommen: //--------------------------
function file_exists_incpath($file) {
//--------------------------
$paths = explode(PATH_SEPARATOR, get_include_path());
foreach ($paths as $path) {
// Formulate the absolute path
$fullpath = $path . DIRECTORY_SEPARATOR . $file;
// Check it
if (file_exists($fullpath)) {
return true;
}
}
return false;
}
http://aidan.dotgeek.org/lib/?file=...sts_incpath.php
|
Jehul
Big d00d
|
hast mal probiert, den ordner in einen realpath (voller name) umzuwandeln? $dir=realpath('./images/00.jpg');
echo $dir;
//und dann erst:
if (file_exists($dir)) echo "true";
|
Spikx
My Little Pwny
|
Na, und aufgrund momentan fehlender Bandbreite mag i des jetzt auch net ausprobiern ![:)](/images/smilies/smile.gif) Und da es mit dieser Funktion auch auf jedem Server funktioniert (bzw. funktionieren sollte), werd ich's auch dabei belassen.
|
mat
AdministratorLegends never die
|
diese funktion ist keinesfalls als ein allgeimeines file_exists zu verstehen. die sollte nur überprüfen ob ein bestimmtes (.inc).php file in den include verzeichnissen vorhanden ist. dh: ob include(_once) usw. auch wirklich dieses file inkludiert. mach mal ein phpinfo und post mal die include_paths hier rein. Na, und aufgrund momentan fehlender Bandbreite mag i des jetzt auch net ausprobiern bandbreite? 28,8er telmodem? O_o
|
Spikx
My Little Pwny
|
diese funktion ist keinesfalls als ein allgeimeines file_exists zu verstehen. die sollte nur überprüfen ob ein bestimmtes (.inc).php file in den include verzeichnissen vorhanden ist. dh: ob include(_once) usw. auch wirklich dieses file inkludiert. Hm... is doch wurscht, hauptsoch es funktioniert :P mach mal ein phpinfo und post mal die include_paths hier rein. jo, später vielleicht mal bandbreite? 28,8er telmodem? O_o Na, 64000 bps für 6 PCs
|
mat
AdministratorLegends never die
|
Hm... is doch wurscht, hauptsoch es funktioniert :P ![:bash:](/images/smilies/bash.gif) sowas stimmt mich traurig. hab ich schon einmal erwähnt was ich von "blackbox" programmierung halte?
|
Spikx
My Little Pwny
|
I'm sorry :| include_path: .:/usr/local/lib/php Aber ich sehe gerade, dass es doch mit "./images/..." funktioniert. Ähem.. naja, da dürfte mir wohl doch wo ein Fehler unterlaufen sein ![:)](/images/smilies/smile.gif) //ah.. hatte irgendwann in weiterer Folge das ganze am Server mit einem file getestet, dass die Extension .JPG in uppercase hatte.. ich aber eben nur auf '00.jpg' getestet habe.. bla
Bearbeitet von Spikx am 28.12.2004, 19:21
|
dio
Here to stay
|
//ah.. hatte irgendwann in weiterer Folge das ganze am Server mit einem file getestet, dass die Extension .JPG in uppercase hatte.. ich aber eben nur auf '00.jpg' getestet habe.. bla ![:D](/images/smilies/biggrin.gif) Dafür ghört dir wehtan ![;)](/images/smilies/wink.gif) . @mat: so wie er die Funktion verwendet, ist es genau das, was du beschreibst - nur eben um ein Directory "tiefer" und eine andere File extension.
|