php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 22.11.2008, 12:21  
Neuer Benutzer
 
Registriert seit: 09.11.2008
Beiträge: 18
Randy1990 befindet sich auf einem aufstrebenden Ast
Standard Upload-Formular funktioniert nicht

Ich habe ein normales Upload-Formular:

upload.html

PHP-Code:
<html>
<head>
<title>Datei-Upload</title>
</head>

    <body>
    <h1> Laden Sie Ihre Artikeldatei hoch:</h1
    
        <form enctype="multipart/form-data" action="upload.php" method="post">
Datei:        <input type="hidden" name="MAX_FILE_SIZE" value="100000">
            <input type="file" name="datei"><br>
            <input type="submit" name="submit" value="Hochladen">
        </form>

<?php
// Dateiinformationen (Ausgabe über Schleife)
if (isset($_FILES["datei"])) {
foreach (
$_FILES["datei"] as $key $element) {
echo 
"[$key] => $element<br>";
}
}
?>

    </body>
</html>
und die entsprechende upload.php

PHP-Code:
<html>
<head>
<title>Datei-Upload</title>
</head>
<body>

<?php
    
// Prüfen des Array $_FILES
    
if (isset($_FILES["datei"])) {

    
// Upload-Status
    
if ($_FILES["datei"]["error"] == UPLOAD_ERR_OK) {

    
// Dateiname und Dateigrösse
    
if (preg_match($regExp,$_FILES["datei"]["name"]) &&
    
$_FILES["datei"]["size"] > && $_FILES["datei"]["size"] < 100000) {

    
// Temporäre Datei in das Zielverzeichnis des Servers verschieben.
    
move_uploaded_file($_FILES["datei"]["tmp_name"],"shots/".$_FILES["datei"]["name"]);
}
else {
echo 
"Es ist ein Fehler aufgetreten.";
}
}
}
?>
</body>
</html>

Es soll eine XML-Datei hochgeladen werden.

Wenn ich nun über duchsuchen eine Datei auswähle und Hochladen klicke, passiert jedoch leider bei mir gar nichts, keine Fehlermeldung - nix, es wird nach wie vor das Formular mit dem ausgesuchten Dateinamen angezeigt.

Ich habe schon durch dieses Forum gesurft, komme aber leider nicht selber auf die Lösung ...

Danke im Voraus
Randy1990
Randy1990 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 22.11.2008, 12:59  
PTC
Erfahrener Benutzer
 
Benutzerbild von PTC
 
Registriert seit: 27.10.2007
Beiträge: 1.708
PHP-Kenntnisse:
Anfänger
PTC ist einfach richtig nettPTC ist einfach richtig nettPTC ist einfach richtig nettPTC ist einfach richtig nett
Standard

Bitte error_reporting(E_ALL); benutzen.

Was soll das Skript machen?? Vielleicht hast du den falschen Ansatz.
PTC ist offline  
Alt 22.11.2008, 13:32  
Neuer Benutzer
 
Registriert seit: 09.11.2008
Beiträge: 18
Randy1990 befindet sich auf einem aufstrebenden Ast
Standard

Die Aufgabenstellung ist, dass diese Seite die Funktion anbieten soll, eine Datei im XML-Format hochladen zu können, die dann die alte Datei ersetzt. Das ganze in Kombination mit einer passwortgeschützten Administrationsseite - siehe meinen anderen Beitrag von heute.
Randy1990 ist offline  
Alt 22.11.2008, 14:23  
PTC
Erfahrener Benutzer
 
Benutzerbild von PTC
 
Registriert seit: 27.10.2007
Beiträge: 1.708
PHP-Kenntnisse:
Anfänger
PTC ist einfach richtig nettPTC ist einfach richtig nettPTC ist einfach richtig nettPTC ist einfach richtig nett
Standard

Zitat:
User Contributed Notes
move_uploaded_file
Dan Delaney 13-Oct-2008 01:41
For those using PHP on Windows and IIS, you SHOULD set the "upload_tmp_dir" value in php.ini to some directory around where your websites directory is, create that directory, and then set the same permissions on it that you have set for your websites directory. Otherwise, when you upload a file and it goes into C:\WINDOWS\Temp, then you move it to your website directory, its permissions will NOT be set correctly. This will cause you problems if you then want to manipulate that file with something like ImageMagick's convert utility.

[er meint diesen Beitrag: http://www.php.de/php-einsteiger/492...ter-seite.html ]

Geändert von PTC (22.11.2008 um 14:27 Uhr).
PTC ist offline  
Alt 22.11.2008, 21:28  
Neuer Benutzer
 
Registriert seit: 21.11.2008
Beiträge: 12
Element H8 befindet sich auf einem aufstrebenden Ast
Standard

also, mir ist aufgefallen, in der upload.html ist bei
Code:
<h1> Laden Sie Ihre Artikeldatei hoch:</h1
der schliessende Tag nicht zu.

Und nochwas: Funktioniert das überhaupt, php script in einer html Seite?
Element H8 ist offline  
Alt 22.11.2008, 21:32  
PTC
Erfahrener Benutzer
 
Benutzerbild von PTC
 
Registriert seit: 27.10.2007
Beiträge: 1.708
PHP-Kenntnisse:
Anfänger
PTC ist einfach richtig nettPTC ist einfach richtig nettPTC ist einfach richtig nettPTC ist einfach richtig nett
Standard

Zitat:
Zitat von Element H8 Beitrag anzeigen
also, mir ist aufgefallen, in der upload.html ist bei
Code:
<h1> Laden Sie Ihre Artikeldatei hoch:</h1
der schliessende Tag nicht zu.

Und nochwas: Funktioniert das überhaupt, php script in einer html Seite?
1. Ist wahrscheinlich nicht relevant, da er IE6 nutzt(der ignorierts).
2. Kommt auf die Konfiguration, aber das könnte ein wichtiger Knackpunkt sein. Gut gesehen, wäre mir nicht aufgefallen. Thematisch jedoch unwichtig.
PTC ist offline  
Alt 22.11.2008, 21:40  
PTC
Erfahrener Benutzer
 
Benutzerbild von PTC
 
Registriert seit: 27.10.2007
Beiträge: 1.708
PHP-Kenntnisse:
Anfänger
PTC ist einfach richtig nettPTC ist einfach richtig nettPTC ist einfach richtig nettPTC ist einfach richtig nett
Standard

Zitat:
Zitat von http://www.php.net/manual/de/features.file-upload.php
Beispiel #1 Formular für den Dateiupload
<form enctype="multipart/form-data" action="_URL_" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="30000">
Send this file: <input name="userfile" type="file">
<input type="submit" value="Send File">
</form>
Häufige Fehler: PHP: Häufige Probleme - Manual
PTC ist offline  
Alt 22.11.2008, 21:42  
Neuer Benutzer
 
Registriert seit: 21.11.2008
Beiträge: 12
Element H8 befindet sich auf einem aufstrebenden Ast
Standard

Nochmal zur Datei upload.html:

PHP-Code:
<?php 
// Dateiinformationen (Ausgabe über Schleife) 
if (isset($_FILES["datei"])) { 
foreach (
$_FILES["datei"] as $key $element) { 
echo 
"[$key] => $element<br>"


?>
In der foreach -Zeile war wohl
PHP-Code:
$key => $element 
gemeint, oder? Aber vielleicht auch nur ein Tippfehler...
Element H8 ist offline  
Alt 22.11.2008, 21:48  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

In upload.php gibt es mehrere Fälle, in denen das Skript einfach garnichts ausgibt und das ist schlecht.
Zitat:
if (preg_match(...) && ...) {
// positiv
}
else {
// negativ
}
Das ist die einzige Stelle im Skript, an der auch im Fehlerfall etwas ausgegeben wird. Das solltest Du hier für alle if-Konstrukte so umsetzen.
David ist offline  
Alt 22.11.2008, 21:59  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.988
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Ich würde eine Wächterstruktur vorschlagen: Codeoptimierung:Wächter - PHP.de Wiki
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch 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
Formular - File Upload? Toby PHP Tipps 2008 12 16.11.2007 20:19
Upload in per mkdir erstelltes Verz. funktioniert nicht rocco PHP Tipps 2007 6 04.07.2007 17:33
imagecopyresampled fehler. upload funktioniert aber rbs_phoenix PHP Tipps 2006 2 18.07.2006 17:45
Formular mit Upload PHP Tipps 2006 18 22.05.2006 12:32
Ganzen Ordner samt Inhalt per Formular Upload [begraben] dethlef14 PHP Tipps 2005-2 3 20.10.2005 08:51
[Erledigt] Formular in Formular HTML, Usability und Barrierefreiheit 4 19.10.2005 12:18
[Erledigt] Upload funktioniert manchmal, manchmal nicht HTML, Usability und Barrierefreiheit 9 29.09.2005 12:32
upload funktioniert nicht PHP Tipps 2005-2 7 18.09.2005 20:30
Eideutiger Dateiname - Upload per Formular patr1k PHP Tipps 2005-2 10 08.09.2005 10:24
Upload funktioniert nur auf localhost?? PHP Tipps 2005 5 28.04.2005 15:15
Upload Script funktioniert lokal nicht?! TheTommynator PHP Tipps 2005 16 22.01.2005 23:42
Geld zu verdienen - Formular für Datei upload Beitragsarchiv 5 21.01.2005 08:06
Problem beim Upload mehrerer Dateien per Script PHP Tipps 2004 1 04.08.2004 16:26
upload formular PHP Tipps 2004 5 26.07.2004 09:45
upload formular ?? PHP Tipps 2004 2 01.07.2004 20:53

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
artikeldatei in xml hochladen, artikeldatei im xml format hochladen, script upload.php convert url in bbcode, \nur die funktion anbieten, eine artikeldatei im xml-format holaden zu können\

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