Bild von HTTP POST mit PHP

So, ich bin das senden eines Bildes über das internet mithilfe von HTTP POST und sende es an ein php-Skript auf meinem server. Ich möchte in der Lage sein zu nehmen, dass Bild und speichern Sie es. Ich mache das gut mit text, aber wenn es um andere Inhalte, wie ein Bild, es ist Fehler-ing sagen, es kann nicht finden Sie die variable, und wenn ich versuche file_get_contents, es mag nicht, dass entweder. Ich sende das Bild von einem iPhone als auch, so dass meine POST-Anfrage sieht wie folgt aus.

NSMutableData *postBody = [NSMutableData data];
[postBody appendData:[[NSString stringWithFormat:@"--%@\r\n", stringBoundary] dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[@"Content-Disposition: form-data; name=\"media\"; filename=\"dummy.jpg\"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[@"Content-Type: image/jpeg\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[@"Content-Transfer-Encoding: binary\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:imageData];
[postBody appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[[NSString stringWithFormat:@"--%@--\r\n", stringBoundary] dataUsingEncoding:NSUTF8StringEncoding]];
[postRequest setHTTPBody:postBody];

Den rest der Anfrage wird geschrieben, aber ich habe nicht wirklich das Gefühl, wie die Verbuchung aller.

Aber egal, das ist wie ich bin das senden der Anfrage, und auf dem php-server-Seite,

<?php
    echo "Some Message";
    $nameValue =  $_POST['name'];
    echo "<br/>";
    echo $nameValue;
    $otherValue =  $_POST['other'];
    echo "<br/>";
    echo $otherValue;
    file_get_contents('dummy.jpg');
    //or I tried this
    $imageData = $_POST['media'];
?>

Ich kann nicht scheinen, um in der Lage sein zu greifen, die Bild. Beide versuche, sich das Bild ausgefallen und ich weiß nicht, warum. Irgendwelche Vorschläge?

EDIT:

Habe ich noch die print-Anweisung print_r($_FILES) um zu sehen, was ich bekommen würde und es gab die folgende.

(
    [media] => Array
        (
            [name] => dummy.jpg
            [type] => 
            [tmp_name] => 
            [error] => 1
            [size] => 0
        )
)

So scheint es, als wenn es immer die Bild, zumindest der name von es, aber aus irgendeinem Grund ist es nicht immer die eigentlichen Daten und wirft einige Fehler. Ich denke, das ist wohl auf die iPhone-Seite der Dinge, wenn es nicht sendet, die Daten und meine PHP-server ist ein Fehler aufgetreten. Ich bin nicht sicher, wenn, jemand schon Erfahrung in so etwas?

EDIT 2:

Habe ich endlich alles funktioniert. Es stellt sich heraus, dass alles war korrekt formatiert, ich war nur mit einer image-Datei Größe-upload-limit Problem. Die Bilder, die ich geschickt wurde, waren rund 8MB und anscheinend ist unser server nicht verarbeiten kann, so dass ich einfach abgeschossen, die Qualität auf jpeg, und das Problem war gelöst. Dann gab es einige Problemen mit Berechtigungen, als auch, nichts ein wenig sudo chmod nicht lösen können. Vielen Dank an alle für Eure Vorschläge und Hilfe, ich wünschte, ich könnte mehr als eine Antwort!

InformationsquelleAutor MZimmerman6 | 2012-08-08

Schreibe einen Kommentar