Problem mit Uploadscript

lordofscotland

Erfahrenes Mitglied
Hallo Commuity,

ich habe hier vor ein paar Wochen ein Uploadscript gefunden und, das Script klappt auch, nur werden die Bilder welche hochgeladen werden, nachher nicht angezeigt.

PHP:
<form enctype="multipart/form-data" action="bildupload.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="99999999999">
<input type="file" name="datei"><br>
<input type="submit" value="hochladen">
</form>
<?php
    $destination = '/kunden/100897_1140/webseiten/dadada/bilder/kochen/';
    $prefix = 'copy_of_';
    $errors = array();
    $notices = array();
    if( isset($_FILES['datei']) ) {
        switch( $_FILES['datei'] ) {
            case UPLOAD_ERR_INI_SIZE:
            case UPLOAD_ERR_FORM_SIZE:
                $errors[] = 'Die hochgeladene Datei überschreitet die erlaubte Dateigröße.';
                break;
            case UPLOAD_ERR_PARTIAL:
                $errors[] = 'Die Datei wurde nur teilweise hochgeladen.';
                break;
            case UPLOAD_ERR_NO_FILE:
                $errors[] = 'Es wurde keine Datei hochgeladen.';
                break;
        }
        if( file_exists($destination.$_FILES['datei']['name']) ) {
            $notices[] = 'Die Datei mit dem Dateinamen „'.$_FILES['datei']['name'].'“ existierte bereits. Die Datei wurde in „'.$prefix.$_FILES['datei']['name'].'“ umbenannt.';
            $_FILES['datei']['name'] = $prefix.$_FILES['datei']['name'];
        }
        if( !move_uploaded_file($_FILES['datei']['tmp_name'], $destination.$_FILES['datei']['name']) ) {
            $errors[] = 'Die Datei konnte nicht verschoben werden.';
        }
        if( count($errors) > 0 ) {
            echo '<ul class="error">';
            foreach( $errors as $value ) {
                echo '<li>'.$value.'</li>';
            }
            echo '</ul>';
        } else {
            if( count($notices) > 0 ) {
                echo '<ul class="notice">';
                foreach( $errors as $value ) {
                    echo '<li>'.$value.'</li>';
                }
                echo '</ul>';
            }
            echo '<p>Die Datei „'.$_FILES['datei']['name'].'“ wurde mit '.$_FILES['datei']['size'].' Byte erfolgreich hochgeladen: <a href="'.$destination.$_FILES['datei']['name'].'">'.$destination.$_FILES['datei']['name'].'</a></p>';
        }
    }
?>

Mir ist ein Rätsel warum das nicht klappt.

Danke im voraus
 
Die soll ja auch auf einer anderen Seite geschehen, der Name des Bildes liegt in einer DB und wird dort herausgelesen, das Uploadscript soll halt nur die Arbeit erleichtern damit ich nicht immer mit einem FTP-Tool das ganze machen muss.
 
Es ist so, mit dem Script was unten dargestellt ist lade ich Bilder auf einen Webserver.
Die Bilder kommen auch in dem Ordner an, nur wenn ich die Seite aufrufe wo die Bilder dann erscheinen sollen, sind diese nicht da.

unter www.dadada.at/htm/kochen/index.htm/

einfach mal eine der Kategorien auswählen und dann bei den Rezepten stöbern, dort sollten die Bilder erscheinen, bei einigen sind auch welche da, diese habe ich mit einem FTP-Tool hochgeladen.
 
lordofscotland hat gesagt.:
Die soll ja auch auf einer anderen Seite geschehen, der Name des Bildes liegt in einer DB und wird dort herausgelesen, das Uploadscript soll halt nur die Arbeit erleichtern damit ich nicht immer mit einem FTP-Tool das ganze machen muss.


Also, wenn ich das ganze mal zusammenfasse:
- Upload geht soweit
- Du möchtest die erfolgreich hochgeladenen Bilder in eine DB schreiben (Pic name usw)
- Nachher aus der DB die entsprechenden Bilderdaten auslesen und damit die Anzeige des Bildes auf deiner Seite ermöglichen

ist das soweit richtig?
 
Soweit richtig, die Namen der Bilder trage ich selber in die DB ein, bedeutet also ich habe ein Formular wo ich die ganzen Daten reintrage, die dann in die DB schreibe und dannach das Bild mit dem unten abgebildeten script hochlade.

Das Problem ist nur, die Bilder die ich mit dem Script hochlade werden auf der dazugehörigen Webseite nicht angezeigt, lade ich die Bilder mit einem FTP-Tool wie dem Totalcommander hoch, da klappt das ganze.

Daher meine Frage wo könnte hier der Fehler liegen?
 
Morgen!

Ich hab nach etwas klicken mal ein Beispiel gefunden, wo das Bild nicht angezeigt wird.
Blutwurst
Gebe ich diese URL des Bildes direkt in den Browser ein, kommt auch ein 404. Also scheint es mir, als würde die Datei doch nicht hochgeladen sein.
Bei einem Test mit einem funktionierenden Bild (Beispiel: Mozarella) sehe ich das Bild.

Wenn du jetzt sagst, das die Bilder, die im Browser nicht angezeigt werden, aber mit dem exakten Namen auf den Webspace in den richtigen hochgeladen werden, kann das ein Problem mit den Dateirechten sein oder mit dem Owner/Group des Bildes (auf der Unixebene).
Kannst du vielleicht mal prüfen (über dein FTP Tool), welchen CHMOD und welchen User/Group die Bilder haben, wenn du diese per Uploadscript hochlädst, bzw als Gegenbeispiel bei einem funktionierenden Bild?
Als Beispiel wäre oben das Blutwurst Bild als negativ Beispiel gut und das Mozarella als positives Beispiel.

So aus dem Kopf bin ich gerade überfragt, was das sein kann.
Vielleicht jemand anders hier im Forum so spontan ne Idee?

Gruss
 
Nabend,

sorry das ich jetzt erst antworte, das mit den Userrechten ist der Fehler, habe alle Bilder mit dem Totalcommander auf 777 gesetzt und siehe da sie werden angezeigt.

Gibt es eine Chance das die Bilder beim Hochladen gleich diesen Status erhalten?
 
Zurück