SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Das Zend Framework

Das Zend Framework zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen
Hilfe Community Kalender Heutige Beiträge Suchen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 13.07.2006, 21:48:52
diehappy diehappy ist offline
Anfänger
 
Registriert seit: Jul 2006
Beiträge: 4
Fehler im Uploadscript

Moin

Sorry das schon wieder ein Thema mit nem Uploadscript kommt. :D
Ich hab hier ein kleines Script das ich mit ein wenig hilfe versucht hab etwas zu verbessern. Sieht auch alles sehr schön aus. Nur funktionierts nicht und ich find den oder die Fehler beim besten willen nicht. Vielleicht kann sich das mal jemand anschauen und ggf. testen.
Es kommen keine Fehlermeldungen, keine Bestätigung das was hochgeladen wurde und es wird nichts hochgeladen. Ich denke/hoffe das Script ist einigermasen übersichtlich.
PHP-Code:
<?php
ini_set 
('error_reporting'E_ALL);
$pfad 'upload/';
$dateiupload_erfolgreich false;


function 
CheckFilename($dateiname,$pfad)
    {
    global 
$fehler$fehler = array();
    if (
file_exists($pfad.$dateiname)) array_push($fehler'Es existiert bereits eine Datei mit dem Namen!');
    if(!
in_array(strtolower(substr($dateiname,-4)),array('.jpg','jpeg','.png','.gif'))) array_push($fehler'Bitte nur Bilder mit der Endung .jpg, .jpeg, .png oder .gif hochladen!');
    return (
sizeof($fehler)) ? $dateiname false;
}


function 
CheckFile($dateiname_temp,$dateifehler,$dateigroesse)
    {
    global 
$fehler$fehler = array();
         switch (
$dateifehler) {
    case 
'1'$dateifehler_erklaerung ='Die hochgeladene Datei überschreitet die in der Anweisung upload_max_filesize in php.ini festgelegte Größe.'; break;
    case 
'2'$dateifehler_erklaerung 'Die hochgeladene Datei überschreitet die in dem HTML Formular mittels der Anweisung MAX_FILE_SIZE angegebene maximale Dateigröße.'; break;
    case 
'3'$dateifehler_erklaerung 'Die Datei wurde nur teilweise hochgeladen.'; break;
    case 
'4'$dateifehler_erklaerung 'Es wurde keine Datei hochgeladen.'; break;
    }
    if(
$dateifehlerarray_push($fehler$dateifehler_erklaerung);
    if (
$dateigroesse 1array_push($fehler'Sie haben versucht keine oder eine lehre Datei hochzuladen.');
    return (
sizeof($fehler)) ? $dateiname_temp false;
}


if(!empty(
$_POST['Send']))
{
    if (
$dateiname CheckFilename($_FILES['Datei']['name'],$pfad))
    {
        if (
$dateiname_temp CheckFile($_FILES['Datei']['tmp_name'],$_FILES['Datei']['error'],$_FILES['Datei']['size']))
        {
            
move_uploaded_file($dateiname_temp$pfad.$dateiname);
            if (
filesize($pfad.$dateiname)<1) die ('Sie haben versucht eine leerer Datei hochzuladen!');
            
$dateiupload_erfolgreich true;
        }
        else 
$fehlermeldungen_ausgeben true;
    }
    else 
$fehlermeldungen_ausgeben true;
}




?>
<html>
<head>
<title>Datei-Upload</title>
</head>
<body>
<?php
if ($dateiupload_erfolgreich)
{
?>Ihre Datei (&quot;<?php echo $dateiname?>&quot;) wurde hochgeladen. Sie können nun weitere Dateien hochladen.<?php
}
elseif (!empty(
$fehler))
{
    
?>
    <br>Es sind folgende Fehler aufgetreten:<br>
    <?php
    
foreach ($fehler as $fehlermeldung) {
    echo 
$fehlermeldung.'<br>';
    }
?>Beseitigen sie wenn möglich den Fehler und versuchen sie es erneut.<?php
}
?>


<form action="<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data" method="post">
<input name="Datei" type="file"><br>
<input name="Send" type="submit" value="Upload">
</form>
</body>
</html>
Mit Zitat antworten
  #2  
Alt 13.07.2006, 22:37:40
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
AW: Fehler im Uploadscript

Verwende erst einmal Testausgaben, um zu prüfen, welche der Zweige der einzelnen Bedingungen überhaupt durchlaufen werden. So lässt sich das Problem schon mal ein wenig eingrenzen.
Mit Zitat antworten
  #3  
Alt 13.07.2006, 23:09:10
diehappy diehappy ist offline
Anfänger
 
Registriert seit: Jul 2006
Beiträge: 4
AW: Fehler im Uploadscript

Moin

Beide Funktionen werden durchlaufen aber die zweite Funktion gibt wohl false zurück denn die if-Abfrage
PHP-Code:
if ($dateiname_temp CheckFile($_FILES['Datei']['tmp_name'],$_FILES['Datei']['error'],$_FILES['Datei']['size'])) 
wird nicht mehr durchlaufen.
Wenn ich aber vor dem return in Funktion CheckFile mal die Fehler ausgeben möchte mit
PHP-Code:
    foreach ($fehler as $fehlermeldung) {
    echo 
$fehlermeldung.'<br>'; } 
wird nichts angezeigt.

Wie ist es eigentlich mit der globalen Variable $fehler. Die muß ich doch eigentlich nicht in beiden Funktionen difinieren?!
PHP-Code:
global $fehler$fehler = array(); 
Mit Zitat antworten
  #4  
Alt 14.07.2006, 09:08:34
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
AW: Fehler im Uploadscript

Ermittel dazu am besten mit var_dump(), was CheckFilename() und CheckFile() zurückgeben.
Mit Zitat antworten
  #5  
Alt 14.07.2006, 14:07:33
diehappy diehappy ist offline
Anfänger
 
Registriert seit: Jul 2006
Beiträge: 4
AW: Fehler im Uploadscript

Moin

Wenn ich versuch ein Bild hochzuladen, was ja erlaubt ist, gibt die Funktion CheckFilename schon false zurück.

Bei einer unerlaubten Datei (hier asnr_96_3.pdf) geben die Funktionen folgendes zurück:
Funktion CheckFilename: string(13) "asnr_96_3.pdf"
Funktion CheckFile: bool(false)


Aber diese Zeile ist doch richtig?:
PHP-Code:
if(!in_array(strtolower(substr($dateiname,-4)),array('.jpg','jpeg','.png','.gif'))) array_push($fehler'Bitte nur Bilder mit der Endung .jpg, .jpeg, .png oder .gif hochladen!'); 
Langsam kommt es mir so vor als hätte ich irgendwo eine Negation zuviel oder zuwenig. *grübel*
Mit Zitat antworten
  #6  
Alt 14.07.2006, 14:28:18
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
AW: Fehler im Uploadscript

Was mir gerade aufgefallen ist:
Zitat:
Zitat von diehappy
PHP-Code:
return (sizeof($fehler)) ? $dateiname false
Wenn das Array leer ist, also keine Fehler aufgetreten sind, liefert die Funktion false. Das sollte wohl eher anders herum sein.
Mit Zitat antworten
  #7  
Alt 14.07.2006, 16:06:49
diehappy diehappy ist offline
Anfänger
 
Registriert seit: Jul 2006
Beiträge: 4
AW: Fehler im Uploadscript

Moin

Das scheints gewesen zu sein! Muß
PHP-Code:
return (sizeof($fehler)) ? false $dateiname
bzw
PHP-Code:
return (sizeof($fehler)) ? false $dateiname_temp
sein.
Ich muß noch testen ob auch wirklich alle Fehler als solche erkannt werden, aber auf den ersten Blick siehts sehr gut aus.
Danke! :)
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

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

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Fehler im Uploadscript nicht zu finden?? t1m0n PHP für Fortgeschrittene und Experten 3 02.05.2004 10:50:17
Fehler in Funktion Wauzy PHP für Fortgeschrittene und Experten 2 02.12.2003 18:17:28
PHP Verursacht einen Fehler auf dem Server RDJ PHP für Fortgeschrittene und Experten 0 21.10.2003 16:51:22
Fehler im Script? |Coding PHP für Fortgeschrittene und Experten 17 10.09.2002 08:42:03
Fehler: Bad file descriptor (9) Troniac PHP für Fortgeschrittene und Experten 0 28.08.2002 02:12:09


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:16:23 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt