Temp Ordner Finden und Testen!

Alles, was PHP betrifft, kann hier besprochen werden.

Postby Zaeggu » 15. February 2007 15:38

Ich habe ein Testscript für Server gemacht, da es unter anderem auch manchmal Notwendig ist, dass diese beiden Einstellungen stimmen müssen, dass eine Software auf dem Server läuft!

Also es klappt, dass der eintrag in der php.ini Angezeigt wird, und ob der Ordner auch vorhanden ist, wenn der Ordner nicht vorhanden ist, aber der Eintrag in der php.ini da ist, kommt auch die Fehlermeldung, da der Ordner nicht Vorhanden ist!

Die idee, die ich noch hatte, wäre gewesen, da noch eine Datei in den Ordner hochzuladen, und dann, dass überprüft wird, ob die Datei auch in dem Ordner ist, und wenn ja dann wieder Gelöscht wird! So würde es wohl am effektivsten Testen, ob Alles stimmt inklusive Schreibrechten!
Gruss Zaeggu
Zaeggu
 
Posts: 37
Joined: 20. April 2006 08:00

Postby Wiedmann » 15. February 2007 16:11

da noch eine Datei in den Ordner hochzuladen,

Wieder so eine Ausdrucksweise... Was meinst du jetzt mit "hochladen" und bei welchem dieser 2 Verzeichnisse?

Jedenfalls:
Grundsätzlich muss man ja davon ausgehen, das der Serveradmin seinen Server korrekt konfiguriert hat und der User von deinem Script daran nicht unbedingt was ändern kann (es kann ja beides tun, ohne dass diese Settings einen Wert haben, was nicht mal unnormal wäre...).

Also es klappt, dass der eintrag in der php.ini Angezeigt wird, und ob der Ordner auch vorhanden ist, wenn der Ordner nicht vorhanden ist, aber der Eintrag in der php.ini da ist, kommt auch die Fehlermeldung, da der Ordner nicht Vorhanden ist!

Und hier einfach mal einen Satz merken:
Prüfe das, was du auch prüfen willst. Und nicht etwas anderes, was ein ähnliches Ergebnis liefert.

Bei dieser Aussage oben müsste dein Script dann z.B. so aussehen:
Code: Select all
if (is_dir(ini_get('upload_tmp_dir'))) { echo 'ok'; }
else { echo 'nicht ok'; }

if (is_dir(ini_get('session.save_path'))) { echo 'ok'; }
else { echo 'nicht ok'; }
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Zaeggu » 15. February 2007 18:02

Auf jeden fall Dankeschön für die Hilfe, ich habe es jetzt so gemacht, und es funzt wie ne eins! Denn auf nem Server (meinem Webspace) habe ich das Problem, dass einige Softwares, die nicht mit einem eigenen Temporären Ordner Ausgestattet sind nicht laufen! Und dank dir zeigt mir das Script jetzt auch an, dass was falsch sein muss, da es den Ordner laut Pfad in der php.ini nicht findet!

Code: Select all
    //upload_tmp_dir().
if  (is_dir($path = (ini_get('upload_tmp_dir'))))
    {
    $tmp_text = "&nbsp;<font class=\"ok\">".($path)." = Bestanden!</font>";
    }else{
    $tmp_text = "&nbsp;<font class=\"error\">Nicht Bestanden!</font>";
}

    //session_save_path().
if  (is_dir($save = (ini_get('session.save_path'))))
    {
    $save_tmp_text = "&nbsp;<font class=\"ok\">".($save)." = Bestanden!</font>";
    }else{
    $save_tmp_text = "&nbsp;<font class=\"error\">Nicht Bestanden!</font>";
}
Gruss Zaeggu
Zaeggu
 
Posts: 37
Joined: 20. April 2006 08:00

Postby Wiedmann » 15. February 2007 19:05

dass was falsch sein muss

Du musst sagen, was genau diese Scripte stören könnte.

habe ich das Problem, dass einige Softwares, die nicht mit einem eigenen Temporären Ordner Ausgestattet sind nicht laufen!

Kein(!) Script braucht für Sessions oder Fileuploads zu wissen, wo die entspr. Ordner dafür sind.

Und da auch nicht jedes Script seinen jeweils Eigenen hat, hast du irgendein anderes Problem.
Womit wir auch einen Gegenbeweis hätten:
Entweder es geht bei allen Scripten auf einem Webspace, oder keinem Script.

(Das es diese 2 Werte nicht geben muss, damit Sessions und Uploads tun wurde schon gesagt?)


Evtl. solttest du mit einem korrekten Debugging dieser Scripte anfangen? (sind das denn eigene?)
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby sari42 » 20. February 2007 01:38

Eine einfache (und praxisgerechte) Möglichkeit zu prüfen, ob Sessions funktionieren (d.h. geschrieben werden können):
Code: Select all
<?php
// TEST: ini_set('session.save_path','/badPath');
ini_set('display_errors', 1);
error_reporting(E_ALL);
@session_start(); // sic! Die Meldung bei Scriptende ist ausreichend aussagekräftig!
echo '<hr/><h3>Nur wenn keine "Warnings" erscheinen, funktionieren PHP-Sessions.</h3><hr/>';
?>
Voraussetzung: ini_set ist nicht vom Provider unterbunden worden.
Analog hilft ein kleines upload script.
sari42
 
Posts: 800
Joined: 27. November 2005 18:28

Previous

Return to PHP

Who is online

Users browsing this forum: No registered users and 56 guests