====== Php-upload ====== ===== Beispiel ===== Bei Diesem Beispiel werden Dateien von einem Client zum Webserver in ein Verzeichnis hochgeladen. Das Upload-Verzeichnis wird durch das PHP-Script auf dem Server erstellt und erhält den Namen aus der IP-Adresse des Clients. Die Dateinamen der hochgeladenen Dateien werden mit einem Timestamp versehen. Mit der Datei "files.txt" wird festgelegt welche Dateien der Client hochladen soll. Auf dem Web-Server in einem Upload-Verzeichnis die Datei "files.txt" anlegen. Darin sind die Pfade zu den Dateien, welche upgeloader werden sollen. Weiterhin erstellt man eine PHP-Datei namens "upload.php" Inhalt: '; if (!file_exists($_SERVER["REMOTE_ADDR"])) { mkdir($uploaddir ."/". $_SERVER["REMOTE_ADDR"], 0777, true); } $uploadfile = $uploaddir ."/". $_SERVER["REMOTE_ADDR"] ."/". time() . '_' . basename($_FILES['userfile']['name']); //echo '
';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
    echo "Datei '".basename($_FILES['userfile']['name'])."' ist valide und wurde erfolgreich hochgeladen.\n";
} else {
    echo "Dateiupload konnte nicht hochgeladen werden!\n";
}

//echo 'Weitere Debugging Informationen:';
//print_r($_FILES);

//print "
"; ?>
Auf dem Client, welcher die Dateien hochladen soll, legt man ein Script namens "upload.sh an: Inhalt: #!/bin/bash TMP_DIR=/tmp FILELIST=files.txt SERVER= UPLOAD_DIR= UPLOAD_PHP=upload.php USER="" PASSWORD="" CURL_OPTS="-s -k -u ${USER}:${PASSWORD}" curl ${CURL_OPTS} https://${SERVER}/${UPLOAD_DIR}/${FILELIST} | while read line; do curl ${CURL_OPTS} -F "userfile=@${line}" https://${SERVER}/${UPLOAD_DIR}/${UPLOAD_PHP}; done