Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

ERROR bei PHP File-Upload-Skript

Frage Entwicklung PHP

Mitglied: peterha

peterha (Level 1) - Jetzt verbinden

08.12.2008, aktualisiert 09.12.2008, 4894 Aufrufe, 2 Kommentare

Hallo Freunde,

ich habe momentan diese Skript zum PHP Upload. Wenn ich eine z.B. 4090-1.pdf nehme dann kommt folgende Fehlermeldung:

Array ( [datei] => Array ( [name] => 4090-1.pdf [type] => application/pdf [tmp_name] => /tmp/phpTq5HUB [error] => 0 [size] => 546063 ) )

Was ist da falsch??? Wohl noch ganze wichtig der hinweis: die php datei liegt auf einem 1and1 server. der upload soll aber auf meinen heimserver erfolgen. der ist mom so eingestellt dass eine website drauf gehostet ist mit größeren dateien. (das download php funktioniert schon dank der admins hier

Hier nun der upload code: (den ich von dieser Seite habe: http://www.rrze.uni-erlangen.de/dienste/web/php/artikel/datei-uploads.s ...)


01.
 
02.
<?php 
03.
// Session starten 
04.
session_start(); 
05.
// Token generieren 
06.
$str_token = md5(uniqid(time())); 
07.
?> 
08.
 
09.
 
10.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
11.
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
12.
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de"
13.
<head> 
14.
    <title>Upload</title> 
15.
    <meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
16.
</head> 
17.
<body> 
18.
<?php 
19.
// Formular-HTML-Ausgabe oder Weiterverarbeitung 
20.
if( !isset($_POST['upload']) OR empty($_POST['upload']) ) { 
21.
    echo <<<HTML 
22.
<form enctype="multipart/form-data" action="upload.php" method="post"
23.
    <fieldset> 
24.
        <legend>Dateien transferieren</legend> 
25.
    <p> 
26.
        <label for="datei_id">Datei auswählen:</label> 
27.
        <input name="datei" id="datei_id" type="file" /> 
28.
        <input type="hidden" name="token" value="${str_token}" /> 
29.
    </p> 
30.
    <!-- Upload meherer Dateien 
31.
    <p> 
32.
        <label for="datei_id1">Datei auswählen:</label> 
33.
        <input name="idxarr_datei[]" id="datei_id1" type="file" /> 
34.
    </p> 
35.
    <p> 
36.
        <label for="datei_id2">Datei auswählen:</label> 
37.
        <input name="idxarr_datei[]" id="datei_id2" type="file" /> 
38.
    </p> 
39.
    <p> 
40.
        <label for="datei_id3">Datei auswählen:</label> 
41.
        <input name="idxarr_datei[]" id="datei_id3" type="file" /> 
42.
    </p> 
43.
    --> 
44.
    <p> 
45.
        <input type="submit" name="upload" value="Datei(en) hochladen!" /> 
46.
    </p> 
47.
    </fieldset> 
48.
HTML; 
49.
} else
50.
    // Token extrahieren 
51.
    $str_post_token = $_POST['token']; 
52.
    // Wenn Token als Session Variable existiert 
53.
    // wurde das Formular bereits versandt 
54.
    if ( isset($_SESSION['token'][$str_post_token]) ) { 
55.
        echo "Sie haben das Formular bereits versandt!"
56.
        exit
57.
    } else
58.
    // setzen des Tokens als Session-Variable 
59.
        $_SESSION['token'][$str_post_token] = true; 
60.
61.
 
62.
    // Ueberpruefung der Dateiendung 
63.
    // Dateiendung ermitteln 
64.
    $str_file_ext = substr( strtolower( strrchr($_FILES['datei']['name'], '.') ), 1 ); 
65.
    // Array der zulaessigen Endungen 
66.
    $idxarr_allowed_ext = array('txt', 'exe', 'pdf', 'odt', 'gz'); 
67.
    // Ueberpruefung der Dateiendung 
68.
    if ( empty($str_file_ext) OR !in_array($str_file_ext, $idxarr_allowed_ext) ) { 
69.
        echo "Unzulaessige Dateiendung!"
70.
        exit
71.
72.
 
73.
    // Ueberpruefung der Dateigroesse 
74.
    // maximal erlaube Dateigroesse in Bytes 
75.
    $int_max_filesize = 2000000; 
76.
    // eigentliche Ueberpruefung 
77.
    if ($_FILES['datei']['size'] > $int_max_filesize) { 
78.
        echo "Datei ist zu gross - Abbruch!"
79.
        exit
80.
81.
 
82.
 
83.
    // Zusammensetzen des vollen Pfades zum Ziel 
84.
    $str_ziel = 'http://ftpuser.mine.nu/download/' . 
85.
                $_FILES['datei']['name']; 
86.
    // eingentlicher Transfer 
87.
    move_uploaded_file($_FILES['datei']['tmp_name'], $str_ziel); 
88.
    // Zugriffsrechte anpassen: Vollzugriff fuer den Webmaster, 
89.
    // lesender Zugriff fuer die Gruppe und alle anderen, inkl. dem Webserver 
90.
    chmod($str_ziel, 0644); 
91.
 
92.
    // Ausgabe aller Infos 
93.
    print_r($_FILES); 
94.
95.
?> 
96.
</form> 
97.
</body> 
98.
</html> 
99.
 
Mitglied: dog
08.12.2008 um 22:01 Uhr
Mal so eine Frage:
Wie stellst du dir vor, dass PHP eine Datei per HTTP ohne jegliche Benutzerkontrolle auf einen anderen Server kopieren kann?

Das solltest du anders angehen:

Die Datei um den Upload zu verarbeiten sollte direkt auf deinem Heimserver liegen und das Upload-Formular sollte nur auf die URL verweisen.

Grüße

Max
Bitte warten ..
Mitglied: Arano
09.12.2008 um 16:27 Uhr
*dog zustmm*

Außerdem ist das keine Fehlermeldung, sondern Bestandteil des Scriptes !
Nach verschieben der Datei (auf dem Server vom temporärem Speicherplatz zum gewünschtem) (Zeile:87) und die Dateirechte gesetzt wurden (Zeile:90) werden die Infos (die mit denen das Script arbeitet) ausgegeben (Zeile:93).
Es sollte doch zumindest aufgefallen seien, das die Datei hochgeladen wurde und existiert !? (sollte sie jedenfalls)

Achje... man sollte die Seite schon mal gelesen haben !
Bitte warten ..
Ähnliche Inhalte
PHP
PHP - Variable in anderes PHP-Skript mitgeben
gelöst Frage von Jens4everPHP3 Kommentare

Hi zusammen, könnt ihr mir kurz helfen? Ich habe folgendes vor: Ich möchte, dass beim Aufruf von "check1.php" eine ...

PHP
Schreibrechte für Datei im PHP-Skript
gelöst Frage von itebobPHP1 Kommentar

Hallo, ich habe ein PHP-Skript schreiben1.php, das in eine Datei txt123.php schreibt. Wenn schreiben1.php so ausgeführt wird h ttp://server.tld/schreiben1.php ...

PHP
Abhängigkeiten in den PHP-Skripts vorbeugen
Frage von itebobPHP2 Kommentare

PHP-Skripts vom Webspace des UsersA sind per symbolischen Link in Webspaces mehrerer User eingebunden. Die Websites dieser User sind ...

Debian
Mit Shell Skript PHP ausfüheren
gelöst Frage von zeroblue2005Debian6 Kommentare

Hallo Zusammen, lacht nicht aber habe ich eben noch nie gemacht ich möchte eine Sh Datei haben die folgendes ...

Neue Wissensbeiträge
Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 11 MinutenSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 14 StundenInternet2 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 18 StundenDSL, VDSL1 Kommentar

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Windows 10

Microsoft bestätigt DMA-Policy-Problem in Win10 v1709

Information von DerWoWusste vor 18 StundenWindows 10

Wer sein Gerät mit der DMA-Policy absichert, bekommt evtl. Hardwareprobleme in v1709 von Win10. Warum? Weil v1709 endlich "richtig" ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement21 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...

Windows Server
Anmeldung direkt am DC nicht möglich
Frage von ThomasGrWindows Server16 Kommentare

Hallo, ich habe bei unserem Server 2016 Standard ein Problem. Keine Ahnung wie das auf einmal passiert ist. Ich ...

TK-Netze & Geräte
VPN-fähige IP-Telefone
Frage von the-buccaneerTK-Netze & Geräte14 Kommentare

Hi! Weiss noch jemand ein VPN-fähiges IP-Telefon mit dem man z.B. einen Heimarbeitsplatz gesichert anbinden könnte? Habe nur einen ...