php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 24.03.2008, 12:45  
Benutzer
 
Benutzerbild von Teela
 
Registriert seit: 23.03.2008
Beiträge: 30
PHP-Kenntnisse:
Anfänger
Teela befindet sich auf einem aufstrebenden Ast
Standard Upload - Keine Fehlermeldung, Datei wird aber nicht hochgeladen

Sodele... und noch ein Problem von mir.

Ich habe ein Upload-Script für meine Seite geschrieben,
wo der User das Verzeichnis auswählen kann,
in das die Datei hochgeladen werden soll.

Auf den ersten Blick scheint alles wunderbar zu funktionieren,
falls etwas nicht stimmt, werden Fehlermeldungen ausgegeben,
wenn alles funktioniert, kommt die Meldung: "Das Bild wurde erfolgreich hochgeladen",
nur blöderweise ist das nicht der Fall, das Verzeichnis ist immer noch leer.

Habe ich das Zielverzeichnis falsch angegeben ($verzeichnis wird korrekt übergeben),
liegt es daran, dass es über Xampp auf http://localhost läuft,
oder habe ich einfach irgendwo einen Teil des Codes vergessen?
(letzteres könnte ich mir irgendwie am ehesten vorstellen ^^")

Naja, hier auf jeden Fall mal das komplette Script,
ich hoffe, jemand findet meinen Fehler.

PHP-Code:
<?php

if (isset($_POST['action']) && $_POST['action'] != ""

    
$verzeichnis    $_POST["verzeichnis"];

    
$arr_erlaube_dateityp = array(gif,jpg,jpeg,png);

    
$dateiname $_FILES['datei']['name'] ;

// Dateiendung ermitteln
    
$punkt strrpos($dateiname'.');
    
$laenge strlen($dateiname);
    
$endung strtolower(substr($dateiname, -($laenge $punkt 1)));
    
$orginal strtolower(substr($dateiname0, -($laenge $punkt)));


// Fehlerbehandlung 
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - //
    
$fehlermeldung ""
    
$fehler_gefunden ""

// Name Check 
    
$errormeldung "Es wurde keine Datei ausgew&auml;hlt\n"
    if (empty(
$dateiname)) 
    { 
    
$fehlermeldung $fehlermeldung.$errormeldung 
    
$fehler_gefunden 
    } 

    
$errormeldung "Der gew&aumlhlte Dateityp ist nicht erlaubt\n"
    if (!
in_array($endung$arr_erlaube_dateityp) && !empty($dateiname)) 
    { 
    
$fehlermeldung $fehlermeldung.$errormeldung 
    
$fehler_gefunden 


    
$errormeldung "Die gew&auml;hlte Datei ist zu gro&szlig. Max. 50 KB Dateigr&ouml;&szlig;e sind gestattet.\n"
    if (
$_FILES['datei']['size'] > (50 1024)) 
    { 
    
$fehlermeldung $fehlermeldung.$errormeldung 
    
$fehler_gefunden 
    } 

// Wenn Fehler - dann Aufruf der Fehlerausgabe, sonst speichern

    
if ($fehler_gefunden == "1"
    { 
    echo 
$fehlermeldung
    }
    else 
    {
    
move_uploaded_file($_FILES['userfile']['tmp_name'], "http://localhost/images/" $verzeichnis "/" $_FILES['datei']['name']);
    echo 
"<p>Das Bild wurde erfolgreich hochgeladen";
    }



else 
{
?>

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
<input type="hidden" name="action" value="1">
<table cellpadding="3">
    <tr>
     <td>Verzeichnis:</td>
     <td>
    <select name="verzeichnis" size="1">
        <option value="content">Hauptseite</option>
        <option value="mitglieder">Mitglieds-Foto</option>
        <option value="links">Link</option>
        <option value="download">Download</option>
        <option value="artikel">Zeitungsartikel</option>
    </select> 
    </td></tr>
    <tr>
     <td>Datei:</td>
     <td><input size="30" type="file" name="datei"></td>
     </tr>
    <tr>
     <td>&nbsp;</td>
     <td><input type="submit" name="upload" value="Upload!" /></td>
    </tr>
</table>
</form>

<?php
}
?>
Teela ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 24.03.2008, 13:16  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

PHP-Code:
<?php
error_reporting
(E_ALL);
ini_set('display_errors'true);
Wenn Du das an den Anfang des Skripts schreibst, bekommst Du sicher Warn/Fehlermeldungen.
David ist offline  
Alt 24.03.2008, 13:52  
Benutzer
 
Benutzerbild von Teela
 
Registriert seit: 23.03.2008
Beiträge: 30
PHP-Kenntnisse:
Anfänger
Teela befindet sich auf einem aufstrebenden Ast
Standard

Ok, jetzt hab ich folgende Fehlermeldungen:

Warning: move_uploaded_file(http://localhost/images/content/avatar2.jpg) [function.move-uploaded-file]: failed to open stream: HTTP wrapper does not support writeable connections. in C:\Xampp\htdocs\intern\bilder.php on line 68

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\Xampp\tmp\phpB4BF.tmp' to 'http://localhost/images/content/avatar2.jpg' in C:\Xampp\htdocs\intern\bilder.php on line 68

Die betreffende Code-Zeile ist diese hier:

PHP-Code:
move_uploaded_file($_FILES['datei']['tmp_name'], "http://localhost/images/" $verzeichnis "/" $_FILES['datei']['name']); 
Und was sagt mir das jetzt? ^^
Teela ist offline  
Alt 24.03.2008, 14:04  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Dass Du kein http://irgendwas bei move_uploaded_file angeben kannst.
Da sollten übrigens noch mehr Warnungen ausgegeben worden sein.
David ist offline  
Alt 24.03.2008, 14:38  
Benutzer
 
Benutzerbild von Teela
 
Registriert seit: 23.03.2008
Beiträge: 30
PHP-Kenntnisse:
Anfänger
Teela befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von David Beitrag anzeigen
Dass Du kein http://irgendwas bei move_uploaded_file angeben kannst.
Ok, ich habs jetzt mit ../images/ gemacht und diesmal hat es funktioniert o.O
(genau so ging es vorher aber auch nicht, vllt. hab ich in der Zwischenzeit noch was anderes verändert).

Zitat:
Zitat von David Beitrag anzeigen
Da sollten übrigens noch mehr Warnungen ausgegeben worden sein.
Ich hab da noch ein paar Warnungen "Undefined index" ,
aber die sind bei mir auf jeder Seite, trotzdem funktioniert alles...
(Soweit ich das sehe, sind das alles $x = $_GET["y"]; in Fällen wo "y" nicht existiert)

Aber wenn die Meldungen nicht angezeigt werden, ist das doch kein Problem, oder?
Oder sollte ich da besser auch erst abfragen, ob "y" existiert, bevor ich $x definiere?
Teela ist offline  
Alt 24.03.2008, 14:47  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Ich würde keine einzige Warnung stehen lassen. Wenn ich mal was suche, muss ich mich sonst durch dutzende von Meldungen durchwursteln. Oder andersherum: die wirklich wichtige Warnung sehe ich nicht auf Anhieb, weil ich vorher zu faul war..
PHP-Code:
$x = isset($_GET['y']) ? $_GET['y'] : false
Du solltest aber auch hier
Zitat:
$arr_erlaube_dateityp = array(gif,jpg,jpeg,png);
eine Warnung bekommen haben.

David ist offline  
Alt 24.03.2008, 21:07  
Benutzer
 
Benutzerbild von Teela
 
Registriert seit: 23.03.2008
Beiträge: 30
PHP-Kenntnisse:
Anfänger
Teela befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von David Beitrag anzeigen
Ich würde keine einzige Warnung stehen lassen. Wenn ich mal was suche, muss ich mich sonst durch dutzende von Meldungen durchwursteln. Oder andersherum: die wirklich wichtige Warnung sehe ich nicht auf Anhieb, weil ich vorher zu faul war..
PHP-Code:
$x = isset($_GET['y']) ? $_GET['y'] : false
Du solltest aber auch hiereine Warnung bekommen haben.

[/color][/color]
Das Array hatte ich schon vorher geändert, daher kam da nichts mehr.

Aber gut, ich denke, es kann nicht schaden die ganzen Fehler rauszumachen ^^
Auf jeden Fall vielen Dank für deine Hilfe.
Teela 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
Datei Upload mit curl? R.E.M. PHP Tipps 2006 1 18.09.2006 20:44
Wo bleibt die temporäre Datei beim Upload ggfan PHP Tipps 2006 5 31.03.2006 23:45
Datei Upload Frage imagica PHP Tipps 2006 3 17.01.2006 09:10
probleme mit rechten => datei upload ph!l PHP Tipps 2005-2 5 29.09.2005 10:12
[Erledigt] Fehlermeldung weil .txt Datei nicht existiert PHP Tipps 2005-2 9 28.09.2005 19:57
Datei Upload mit PHP via FTP Calli PHP Tipps 2005-2 5 22.07.2005 15:01
Fehlermeldung beim UPLOAD skript PHP Tipps 2005-2 15 13.06.2005 16:52
Geld zu verdienen - Formular für Datei upload Beitragsarchiv 5 21.01.2005 08:06
Datei beim Upload verschieben? PHP Tipps 2004-2 8 15.12.2004 21:16
Datei nach upload verschieben? Calli PHP Tipps 2004-2 7 15.12.2004 15:36
[Erledigt] Datei Upload! alle Dateien zulassen PHP Tipps 2004 8 08.11.2004 20:15
datei upload => datei anzeigen PHP Tipps 2004 16 05.08.2004 02:02
Upload problem -> unerklärliche fehlermeldung PHP Tipps 2004 9 19.07.2004 10:43
Upload mit Fehlermeldung "The script whose uid is 982 i PHP Tipps 2004 2 06.07.2004 13:18
[Erledigt] altes neues problem von datei upload!!! PHP Tipps 2004 3 28.06.2004 19:06

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
uploaded file php datei \wird nicht hochgeladen\, datei kann nicht hochgeladen werden, upload ok keine datei

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:26 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