php: file_exists auf home.pages.at?

Seite 1 von 2 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/php_file_exists_auf_home_pages_at_133057/page_1 - zur Vollversion wechseln!


Spikx schrieb am 27.12.2004 um 22:48

Folgende Situation: php file im root, im ordner images befindet sich die Datei 00.jpg. So funktionierts auf meinem wamp

Code: PHP
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...


moidaschl schrieb am 27.12.2004 um 22:57

was is die fehlermeldung? oder wird einfach ned true ausgegeben


Spikx schrieb am 27.12.2004 um 23:02

true wird net ausgegeben

Hm.. muss i vielleicht doch mit pathinfo() arbeiten? Allerdings hat es auch nicht funktioniert wie ich

Code: PHP
$path = pathinfo($_SERVER['PATH_TRANSLATED']);
$dir = $path['dirname']."/images/00jpg";
verwendet habe.


dio schrieb am 27.12.2004 um 23:08

Code: PHP
$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:
Code: PHP
if(file_exists("images/00.jpg")) echo "true";


Spikx schrieb am 27.12.2004 um 23:14

Funktioniert leider beides nicht. In $_SERVER['DOCUMENT_ROOT'] steht übrigens /home/pages/home/spikx (fois wos hüft...)


dio schrieb am 27.12.2004 um 23:16

Code: PHP
$path_to_file = $_SERVER['DOCUMENT_ROOT']."/images/00.jpg";
if(file_exists($path_to_file)) echo "true";
So funktioniert's ebenfalls nicht?


Spikx schrieb am 27.12.2004 um 23:21

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 :)

edit: username manuell dazugeben nützt eh auch nix (guat i schätz, des wor eh eher.. logisch)


Spikx schrieb am 28.12.2004 um 01:51

Hab's mit dieser Funktion nun hinbekommen:

Code: PHP
//--------------------------
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 schrieb am 28.12.2004 um 15:08

hast mal probiert, den ordner in einen realpath (voller name) umzuwandeln?

Code: PHP
$dir=realpath('./images/00.jpg');
echo $dir;
//und dann erst:
if (file_exists($dir)) echo "true";


Spikx schrieb am 28.12.2004 um 15:17

Na, und aufgrund momentan fehlender Bandbreite mag i des jetzt auch net ausprobiern :)
Und da es mit dieser Funktion auch auf jedem Server funktioniert (bzw. funktionieren sollte), werd ich's auch dabei belassen.


mat schrieb am 28.12.2004 um 16:06

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.

Zitat
Na, und aufgrund momentan fehlender Bandbreite mag i des jetzt auch net ausprobiern
bandbreite? 28,8er telmodem? O_o


Spikx schrieb am 28.12.2004 um 18:47

Zitat von mat
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
Zitat von mat
mach mal ein phpinfo und post mal die include_paths hier rein.
jo, später vielleicht mal
Zitat von mat
bandbreite? 28,8er telmodem? O_o
Na, 64000 bps für 6 PCs


mat schrieb am 28.12.2004 um 18:58

Zitat
Hm... is doch wurscht, hauptsoch es funktioniert :P
:bash:

sowas stimmt mich traurig. hab ich schon einmal erwähnt was ich von "blackbox" programmierung halte?


Spikx schrieb am 28.12.2004 um 19:13

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 :)

//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


dio schrieb am 28.12.2004 um 19:56

Zitat von Spikx
//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
Dafür ghört dir wehtan ;).
@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.




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025