[PHP] Array in Datei ausgeben

Übersicht Sonstiges Smalltalk

Neue Antwort erstellen

BladeRunner

Moderator

Betreff: [PHP] Array in Datei ausgeben

BeitragDo, Dez 10, 2015 10:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
vorneweg: Meine PHP-Kenntnisse sind im Wesentlichen bei Null anzusiedeln.
Folgende Situation: Ich habe ein Modem welches mit meinem alten C64 verbunden ist. Mittels dieses Modems kann ich Dateien auf meinem Webspace speichern - so die Theorie.
Leider ist die Dokumentation dazu wie das von statten gehen soll sehr dürftig:
Zitat:
SAVEing via the HTTP protocol is similar, however it requires some kind of script/processing on the server end, since we obviously can‟t just save data to a standard HTTP server. Saving/sending a program to an HTTP target is no different than loading: save”http:somesite.com/scripts/receiver.php”,7

Internally, the data is sent as file content in a MIME multipart message. The file content is named “data”. In PHP, the received data would be available in the predefined variable $_FILES['data'].


Mein Code für das PHP-Script sieht bislang wie folgt aus:

Code: [AUSKLAPPEN]
<?php
if (isset($_GET['name'])){
    $name = $_GET['name'];
    $datei=fopen($name,"w");
    fwrite($name,$_FILES['data']);
    fclose($datei);
}
?>


(Aus dem Kopf, kleinere Syntaxfehler bitte ich zu verzeihen)

Der Aufruf erfolgt per:
save"meineadresse.de/upload.php?name=test.prg",7
was an den Server weitergeleitet wird.
Es wird auch ein File erstellt, aber statt des gewünschten Dateiinhaltes ist die Datei exakt 5 Byte groß und enthält ARRAY als String.
Ich vermute also das PHP statt der binären Daten den Typ des Feldes 'data' zurückgibt.
Wie greife ich nun darauf zu und kann die binären Daten in das File packen?
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

kog

BeitragDo, Dez 10, 2015 10:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi BladeRunner

Die $_FILES Variabel enthält diverse Informationen zur Hochgeladenen Datei (Grösse, Mime, usw).


Du kannst, anstatt
Code: [AUSKLAPPEN]
fwrite($name,$_FILES['data']);

einmal dies ausprobieren:
Code: [AUSKLAPPEN]
fwrite($name,print_r($_FILES['data'],1));


print_r() gibt dir die Struktur des Arrays aus.



Sobald du die Informationen zur $_FILES hast, musst du die Temporäre Datei welche beim Hochladen erstellt wurde nur noch dahin verschieben wo du sie haben möchtest.
http://php.net/manual/de/reser....files.php
http://php.net/manual/en/featu...method.php
http://php.net/manual/de/funct...d-file.php

Grüsse
Windows 7 Home Premium 64bit
CPU: Intel Core i5 3450 Ivy Bridge
GPU: HIS HD 4870 1GB GDDR5
RAM: 4x 4GB DDR3-SDRAM Dual Channel
  • Zuletzt bearbeitet von kog am Do, Dez 10, 2015 13:04, insgesamt einmal bearbeitet

BladeRunner

Moderator

BeitragDo, Dez 10, 2015 11:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,
danke für die Antwort, werde ich sobald ich zu Hause bin ausprobieren Smile
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Farbfinsternis

BeitragDo, Dez 10, 2015 14:50
Antworten mit Zitat
Benutzer-Profile anzeigen
$_FILES ist ein assoziatives, zweidimensionales Array. An einem HTML Beispiel:
Code: [AUSKLAPPEN]

<input type="file" name="meineDaten" />

Wird sowas abgeschickt bekommst Du auf PHP Seite folgendes:
Code: [AUSKLAPPEN]

$dateiName = $_FILES["meineDaten"]["name"];
$dateiGröße = $_FILES["meineDaten"]["size"];
$tempName = $_FILES["meineDaten"]["tmp_name"]; // Pfad und Dateiname im temp. Ordner auf dem Server
$dateiTyp = $_FILES["meineDaten"]["type"]
// ... oder aber...
$dateiFehler = $_FILES["meineDaten"]["error"]
Farbfinsternis.tv

BladeRunner

Moderator

BeitragDo, Dez 10, 2015 20:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Nochmals danke für eure Hilfe, works like a charm now Smile
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Neue Antwort erstellen


Übersicht Sonstiges Smalltalk

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group