2010-12-27 8 views
0

i von Client-Image abrufen möchten (iPod) in Ziel ci programmiert den folgenden Codeabgerufenen Bilder in PHP

$TARGET_PATH = "pics/"; 
$image = $_FILES['photo']; 
$TARGET_PATH =$TARGET_PATH . basename($_FILES['photo']['name']); 
$TARGET_PATH =$TARGET_PATH.".jpg"; 
if(file_exists($TARGET_PATH)) 
    { 
$TARGET_PATH =$TARGET_PATH .uniqid() . ".jpg"; 
} 
if (move_uploaded_file($image['tmp_name'], $TARGET_PATH)) 
{ 
    $TARGET_PATH="http://www.".$_SERVER["SERVER_NAME"]."/abc/".$TARGET_PATH; 
     echo $TARGET_PATH; 
     echo "image upload successfully";} 
else{ 
    echo "could not upload image"; 
}

dieser Code Upload fünf vor sechs Bilder erfolgreich und nach, dass es mir also

gibt Fehler
+1

Beginnen Sie mit Testausgaben von 'TARGET_PATH', und machen Sie' print_r ($ _FILES); 'um herauszufinden, ob überhaupt etwas hochgeladen wird. –

+0

ja, es lädt einige Dateien, aber danach funktioniert es nicht. – hunter

+0

Nun, dann müssen Sie wahrscheinlich nach dem Grund in Ihrem iPod-Client suchen –

Antwort

1

Die Fehlermeldung scheint Ihnen zu sagen, dass es kein solches Element im Schlüssel "photo" im globalen $_FILES Array gibt. Das bedeutet, dass der Client nicht einmal eine Datei im Feld "Foto" gesendet hat.

Wie bei jedem anderen Eingabeparameter sollten Sie diese Bedingung überprüfen, bevor Sie versuchen, auf das Element zuzugreifen. Zum Beispiel mit: if (isset($_FILES['photo'])) {...}. Und selbst wenn $_FILES['photo'] eingestellt ist, sollten Sie $_FILES['photo']['error'] auf Ausnahmen wie partielle Uploads (UPLOAD_ERR_PARTIAL) oder leere Uploads (UPLOAD_ERR_NO_FILE) überprüfen, wie in der PHP Manual beschrieben.

Sie können dieses Problem beheben, indem Sie die richtigen Validierungen hinzufügen, d. H. Sicherstellen, dass der Dateiupload existiert und erfolgreich war.