[PHP5 ] Array mit File Byte[]

mgraf

Erfahrenes Mitglied
Hallo,
ich habe folgenden Array gespeichert (- kommt von einem WebService)
PHP:
stdClass Object
(
    [PublikationInfo] => Array
        (
            [0] => stdClass Object
                (
                    [ID] => 1
                    [fileName] => 2006313008_Leistungsnachweis_signed.pdf
                    [file] =>  %PDF-1.2 ..........
                    [publikationsTyp] => Diplomarbeit
                    [titel] => Leistungsnachweis
                    [monat] => Februar
                    [jahr] => 2009
                    [institut] => Export
                    [wissenschafter] => Martin Braunshofer;Christian Cerny;
                    [gesamt] => Test
        )

)

Wie kann ich bei [file] anstatt dem ganzen Byte[] einen Link zur fertigen Datei als Download anbieten?

Vielleicht kan mir jemand einen Tritt in die richtige Richung geben ;-)

lg und Danke im Voraus
michi
 
Hi,

wenn ich dich richtig verstehe müsste es doch so gehen,
dass du den Wert von [file] in einer Datei ausgibts, wo du header vorher bestimmt hast.

Beispiel:
PHP:
header('Content-Description: Download von domain.com');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="' . $name . '"');
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header("Content-Length: " . $length);
ob_clean();
flush();
echo $bytes;
exit;
 
Speichere den Inhalt vom „file“-Element in einer Datei (file_put_contens()) und überschreibe den Wert mit dem Pfad dieser neuen Datei.
 
Und wie komme ich jetzt bei diesem Array an meinen Byte-String[file]

Code:
Array
(
    [0] => stdClass Object
        (
            [ID] => 1
            [fileName] => 2006313008_Leistungsnachweis_signed.pdf
            [file] => %PDF-1.2 .....
            [referiert] => 18
            [gesamt] => TEst
        )

)

Ich habs mit
PHP:
$result = $response->GetAllPublicationsResult->PublikationInfo;
$result[0][file]

versucht aber, gar nix, nur
HTML:
Fatal error: Cannot use object of type stdClass as array in


Ich hab schon so viel verstanden, dass das überhaupt kein richtiger Array ist, aber wie geht das dann
Hilfe .... :-)
 
Zuletzt bearbeitet:
Hallo,

da es ein Object ist, musst du den Aufruf in PHP folgendermaßen machen:

PHP:
$result = $response->GetAllPublicationsResult->PublikationInfo;
$result[0]->file;

Grüße
 
Eine letzte Frage noch:
Ich habe wieder folgenden Array:
Code:
Array
(
    [0] => stdClass Object
        (
            [ID] => 1
            [fileName] => 2006313008_Leistungsnachweis_signed.pdf
            [seiteBis] => 2
            [seiteVon] => 1
            [ort] => Krems
            [land] => NÖ
        )

    [1] => stdClass Object
        (
            [ID] => 2
            [fileName] => Abstract_Felicitas_Bruckner.pdf
            [seiteBis] => 14
            [seiteVon] => 13
            [ort] => 12
            [land] => 11

        )

    [2] => stdClass Object
        (
            [ID] => 2
            ...
            ...
            ...

        )

            ...            ...
)

Wie kann ich den Namen des Arrays ermitteln und dann auf [file] zugreifen?
PHP:
$count = count($result);
for($i=0; $i < $count; $i++) {
        if($i%2){$color=' bgcolor="#FF0000"';}else{$color ='';}
		echo '<a href="link.php?'.$result[NameDesArrays]->[ID].'">'.$result[NameDesArrays]->[filename].'</a>';
und dann in der link.php die Datei aus dem Array [NameDesArrays] die ->[file] ausgeben...

Danke jetzt schon für Eure Hilfe:)


EDIT: hat sich erledigt - hab nicht weitgenug gedacht.. Danke
 
Zuletzt bearbeitet:
Zurück