php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 05.07.2008, 02:41  
Neuer Benutzer
 
Registriert seit: 05.06.2008
Beiträge: 29
Blue-Dragon befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] file_exists() gibt immer False zurück..

Hallo,

bin für meine Website gerade was wegen Avatar am machen, aber file_exists gibt immer False zurück.
Das liegt warscheinlich daran, das mir der Webserver irgendwie den Zugriff auf die Datei sperrt.. wenn ich sie mit dem Browser aufrufen will, kommt immer 403... Ich weiss nicht worans liegt, Chmod ist soweit richtig gesetzt (alle ordner + dokumente 644).

Verstehe das nicht, in nem andern Dokument funktionierts prima
Blue-Dragon ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 05.07.2008, 03:11  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.069
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Und jetzt?
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline  
Alt 05.07.2008, 03:13  
Neuer Benutzer
 
Registriert seit: 05.06.2008
Beiträge: 29
Blue-Dragon befindet sich auf einem aufstrebenden Ast
Standard

Und jetzt weiss ich nicht weiter und dachte vielleicht, das hier einer die loesung des problems kennt..

PHP-Code:
<?php
 
function checkImg($nick) {
  
$nickavatar "img/avatar/".$nick.".gif";
  if (!
file_exists($nickavatar)) {
   
$r "<img src=\"img/noPicture.png\" style=\"border:1px solid #013370;\" border=\"0\">";
  }
  elseif (
file_exists($nickavatar)) {
   
$size getimagesize($nickavatar);
   
$r "<img src=\"$nickavatar\" style=\"border:1px solid #013370;\" border=\"0\"";
   if (
$size[1] > 220) {
    
$r .= " height=\"220\"";
   }
   if (
$site[2] > 180) {
    
$r .= " width=\"180\"";
   }
   
$r .= ">";
  }
 return 
$r;
}
?>
editiert von Chriz, bitte BBCode verwenden
__________________
Hallo, ich bin eine Signatur!

Geändert von Chriz (05.07.2008 um 03:16 Uhr).
Blue-Dragon ist offline  
Alt 05.07.2008, 03:18  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.069
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Warum postest du nicht gleich den Code?

Du verwendest relative Pfade, vermutlich der Webpfad, den du im Browser angibst. PHP greift aber ueber das Dateisystem auf Dateien zu.
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline  
Alt 05.07.2008, 03:20  
Neuer Benutzer
 
Registriert seit: 05.06.2008
Beiträge: 29
Blue-Dragon befindet sich auf einem aufstrebenden Ast
Standard

Hm.. komm nicht ganz mit, ich glaube aber, du meinst, das PHP vom Wurzelverzeichnis aus die Datei sucht?
__________________
Hallo, ich bin eine Signatur!
Blue-Dragon ist offline  
Alt 05.07.2008, 03:30  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.069
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Nein, nicht vom Wurzelverzeichnis, hier hab ich mal was dazu gepostet:
PHP: Falsche Pfade bei include/require ohne include_path - phpfriend.de
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline  
Alt 05.07.2008, 03:35  
Neuer Benutzer
 
Registriert seit: 05.06.2008
Beiträge: 29
Blue-Dragon befindet sich auf einem aufstrebenden Ast
Standard

Ich krieg ja aber definitiv die Meldung 403, ob die Datei existiert oder nicht. Also wirds ja wohl kaum am Pfad liegen..
__________________
Hallo, ich bin eine Signatur!
Blue-Dragon ist offline  
Alt 05.07.2008, 04:10  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.069
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Das heisst es nicht unbedingt, es heisst dass der Zugriff auf die Datei oder den Ordner verboten ist. Daraus kannst du nicht auf die Existenz der Datei schliessen.

Wenn file_exists() FALSE zurueckliefert, existiert die Datei eben nicht. Aber selbst bei TRUE, kannst du daraus wieder nicht schliessen, dass die Datei auch ueber den Webserver zugreifbar ist. Wie gesagt, PHP greift ueber das Dateisystem des Servers zu, beim Zugriff ueber den Webserver gehts eben erst vom Webroot aus los, wenn ueberhaupt - schliesslich kannst du auch virtuelle Dateisystem damit aufsetzen (siehe Bootstrapping, Rewrite-Modul des Apache).

Find doch erstmal raus, warum der Zugriff verboten ist und versuch die Datei ueber die Adresszeile im Browser zu oeffnen.
Danach kannst du in PHP folgendes versuchen:
PHP-Code:
<?php
$strWebPath 
"/images/castle.jpg";
$strServerPath $_SERVER["DOCUMENT_ROOT"] . $strWebPath;
if (!
file_exists($strServerPath)) {
  die(
"$strWebPath does not exist");
}
printf('<img src="%s" />'$strWebPath);
?>
__________________
"Nuschel ich?" - "Was?"

Geändert von Chriz (05.07.2008 um 04:16 Uhr).
Chriz ist offline  
Alt 05.07.2008, 12:53  
¯\_(ツ)_/¯
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.814
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Bist du sicher dass die Datei auch so existiert wie du sie im Browser aufrufst? Dateiname richtig, Groß/Kleinschreibung richtig? Wie hast du die Datei hochgeladen? Per PHP Upload und die Datei dann an seinen Platz geschoben? Oder hast du es per FTP gemacht?
Flor1an ist offline  
Alt 05.07.2008, 15:18  
Neuer Benutzer
 
Registriert seit: 05.06.2008
Beiträge: 29
Blue-Dragon befindet sich auf einem aufstrebenden Ast
Standard

Per FTP, Groß/Kleinschreibung ist richtig. Bin mir nicht wirklich sicher, da ja wie gesagt per Browser-Aufruf immer 403 kommt.
Warum der Zugriff verboten ist, weiss ich leider nicht. CHMOD stimmt. (Ordner 666, Datei(en) 644)
__________________
Hallo, ich bin eine Signatur!

Geändert von Blue-Dragon (05.07.2008 um 15:25 Uhr).
Blue-Dragon ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Transparente Runde Ecken bei Thumbnial realisieren tomtaz PHP Tipps 2008 3 08.07.2008 01:20
Anmeldeformular mac/pc unt.punkt PHP Tipps 2008 3 05.02.2008 11:12
Problem: [Warning Empty delimiter] Lia PHP Tipps 2008 3 03.01.2008 23:21
Formular akzeptiert im FF keine false Rückgabe Mikhail JavaScript, Ajax und mehr 8 10.12.2007 13:35
Voraussetzungen für dieses Thumbnail Skript Plague PHP Tipps 2008 9 19.09.2007 13:35
== FALSE; == 0; Problem DDogg PHP Tipps 2006 10 05.06.2006 23:36
Vergleich mit false? Anotherone PHP Tipps 2006 3 17.04.2006 20:42
move_uploaded_file() liefert immer false Stümper PHP Tipps 2005 5 20.02.2005 23:17
Return true, false suter PHP Tipps 2004-2 9 03.12.2004 09:28
fwrite() gibt False zurück Schaelle PHP Tipps 2004 1 29.09.2004 20:27

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php file_exists immer false, file_exists liefert false, http://www.php.de/php-tipps-2008/1956-erledigt-file_exists-gibt-immer-false-zurueck.html, file_exists liefert immer false, file_exists falsches ergebnis, php file_exists liefert immer false, file_exists immer false, file_exists liefert immer true, php file_exists liefert false, file_exists false obwohl datei existiert, file_exists php liefert fehler, file_exits immer false, file_exists immer true, \file_exists\ immer false, php file_exists gib false obwohl datei vorhanden ist, file_exists php liefert false obwohl file existiert, php file existiert, aber file_exists liefert false zurück, file_exists liefert false obwohl es existiert, file_exists gibt false zurück obwohl die datei existiert, file_exists gibt falsches ergebnis zurück

Alle Zeitangaben in WEZ +1. Es ist jetzt 18:11 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum