Antworten auf Ihre häufigsten Fragen

Gibt es Beispiele für einfache PHP Skripte?
pdf print

Einfaches Upload Formular

Im folgenden finden Sie ein einfachen Beispiel um einen Dateiupload zu realisieren.

Schritt 1: Anlegen eines Ordners 

Loggen Sie sich zunächst per FTP auf Ihrem Server ein und erstellen Sie ein Verzeichnis, in dem die hochgeladenen Dateien gespeichert werden sollen. In unserem Beispiel nennen wir den Ordner "uploads". Nun werden noch zwei Dateien benötigt: Ein HTML-Formular (upload.html) und das PHP Skript, welches die Verarbeitung vornimmt (upload.php).

Schritt 2: Das HTML-Formular 

Erstellen Sie auf Ihrem Webspace eine Datei mit dem Namen upload.html und füllen Sie diese mit dem folgenden Inhalt:

<form enctype="multipart/form-data" action="upload.php" method="post">
    Datei ausw&auml;len:
    <input name="file" type="file" />
    <input value="Hochladen" type="submit" />
</form>

Hier wird das (noch zu erstellende Script "upload.php") aufgerufen.

Schritt 3: Das PHP-Skript

Nun benötigen Sie den vollständigen Pfad zum Upload-Verzeichnis. Den ersten Teil des Pfads finden Sie im KIS unter dem Punkt

Produktverwaltung - Ihr Produktbereich - Konfigurieren - Allgemeines - Allgemeine Informationen

In unserem Beispiel nehmen wir das bereits weiter oben erstellte Verzeichnis "uploads" unterhalb des Hauptverzeichnisses unserer Domain (hier /www) als Upload-Verzeichnis. Der vollsändige Pfad könnte also wie folgt lauten:

/is/htdocs/wp123456_ABCDEFGHI/www/uploads

Erstellen Sie nun die Datei uploads.php auf Ihrem Webspace und füllen Sie diese mit folgendem Inhalt. Achten Sie darauf den Inhalt der Variablen "$pfadname" durch den vollständigen Pfad zum Upload-Verzeichnis in Ihrem Webspace zu ersetzen:

<?php
$pfadname = "/is/htdocs/wp123456_ABCDEFGHI/www/uploads/";

if( file_exists( $pfadname . $_FILES["file"]["name"]) ) {
    print $_FILES["file"]["name"] . " existiert bereits";
} else {
    move_uploaded_file( $_FILES["file"]["tmp_name"], $pfadname. $_FILES["file"]["name"] );
    print "gespeichert in: " . $pfadname . $_FILES["file"]["name"];
}
?>

Nun können Sie die uploads.html über Ihre Domain aufrufen und Dateien auf Ihren Webspace hochladen. Beachten Sie dabei, dass Sie die maximal zulässige Dateigröße von 32 MB nicht überschreiten dürfen. Ab dem WebHosting Medium kann dieser Wert jedoch per .htaccess Datei erhöht werden (php_value upload_max_filesize XXM , php_value post_max_size XXM).

Weitergehende Infos zu dem Thema finden Sie unter: http://www.php.net/manual/en/features.file-upload.php.

Checksummenprüfung

Mit nachfolgendem PHP-Skript besteht die Möglichkeit, die Integrität von Dateien nach einem FTP-Upload zu testen. Dabei wird eine Checksumme erstellt. Bitte beachten Sie, dass nur der Inhalt des Ordners getestet werden kann, in dem sich das PHP-Script befindet.

Das PHP-Script

<?php
// Welches Verzeichnis (Standard: Aktuelles Verzeichnis) ?
$pfad = '.';

// Modus (siehe de.php.net/manual/en/function.hash-file.php )
$hash = 'sha1';

// Hier wird die Liste erzeugt und ausgegeben
if( substr( $pfad, -1 ) != '/' ) $pfad .= '/';
$res = opendir( $pfad );
echo '<pre>
';
while( ( $dateiname = readdir( $res ) ) ) {
    if( !@is_dir( $pfad . $dateiname ) and @is_readable( $pfad . $dateiname ) ) {
        printf( "%-'.64s%-50s\n", $dateiname, hash_file( $hash, $pfad . $dateiname ) );
    } else {
        printf( "%-'.64s%-50s\n", $dateiname, 'nicht lesbar / Verzeichnis' );
    }
}

echo '</pre>';
?>

Weitergehende Infos zu dem Thema finden Sie unter: http://de.php.net/manual/en/function.hash-file.php.

Anzeige von Dateien im temporären Verzeichnis

Manchmal kann es beim debuggen von Skripten hilfreich sein, wenn man Zugriff auf die erstellten Dateien im temporären Verzeichnis hat. Der Zugriff darauf ist jedoch per FTP nicht möglich.

Aus diesem Grund finden Sie hier ein Skript, mit welchem Sie sich die Dateien im temporären Verzeichnis anzeigen lassen können. Ersetzen Sie dabei den markierten Teil mit dem Pfad zu Ihrem temporären Verzeichnis. Den Pfad zu Ihrem temporären Verzeichnis finden Sie im KIS unter "Produktverwaltung - Ihr Produktbereich - Konfigurieren - Allgemeines - Allgemeine Informationen" unter "Tmp-Pfad".

<?php
// Hier bitte den Pfad zu Ihrem temporären Verzeichnis eintragen
$mytmppfad = "/is/htdocs/user_tmp/wpXXXXXXX_XXXXXXXXXX/";
if( $handle = opendir( $mytmppfad ) ) {
    print "<table><tbody><tr><td>Dateiname</td><td>Gr&ouml;&szlig;e</td><td>Rechte</td></tr>";
    while( FALSE !== ( $file = readdir($handle) ) ) {
        if($file != "." and $file != "..") {
             print "\n<td>" .$file. "</td><td>" .filesize($mytmppfad.$file). " Byte</td>"
                 . "<td>" .substr(decoct(fileperms($mytmppfad.$file)), 3). "</td></tr>";
        }
    }
    closedir($handle);
    print "</tbody></table>";
} else {
    print "Fehler beim auslesen des Tmp-Verzeichnisses!";
}
?>


otto.friedrich@hosteurope.de xanthippe.ypsilante@hosteurope.de hercules.ikarus@hosteurope.de