PHP Fileupload

Hi leute!

ich arbeite z.Zt. an einem kleine remote-upload ähnlichem script.
dafür habe ich um die Datei zu übergeben folgenden code:
es gibt noch andere tags die ich aber ausfüllen kann;
was ich dann nicht weiß ist, wie ich per PHP script sagen dann das ich dem feld

HTML:
<input type="file" name="file" size="65" style="width:550px;" class="file">

eine datei einlesen/übergeben kann mit z.B. dem namen "hallo.wav".

also was müsste ich tun um das in PHP zu realisieren?!
bin da irgendwie planlos
 
mhmmm also sachen auf meinem server laden das geht.
mein problem liegt eher in der anderen richtung:
ich würde gerne eine file auf einem server uploaden.
der upload script ansich funktioniert schon, jedoch wollte ich mir mal dafür ein kleines script schreibem um diese upload schnittstelle (die nur 1 file erlaubt) zu nutzen um dateien nach einander zu uppen.

weißt?
(bin immernoch den link am lesen, aber das dokument kenne ich schon irgendwie)
 
mhmmm also sachen auf meinem server laden das geht.
mein problem liegt eher in der anderen richtung:
ich würde gerne eine file auf einem server uploaden.

Also ich versteh kein Wort. Die "andere Richtung" von Upload wäre Download und nicht Upload :P
Wenn dein Upload funktioniert, was ist dann dein Problem?
Zum Download brauchst du ja nur einen Link auf die Datei bereitstellen. Oder willst du den Download einer Datei erzwingen, damit sich auch wirklich der "Save as..." Dialog erscheint?

PHP:
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Pragma: no-cache");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Content-type: application/force-download");
header("Content-Disposition: filename=DATEINAME");
header("Content-Description: DATEIBESCHREIBUNG");

Danach deine Datei senden.

#EDIT

Hat zwar was gedauert, aber jetzt hab ich verstanden, was du willst :)
Also um Dateien auf einen dritten Rechner zu laden, bleiben dir im wesentlichen zwei Möglichkeiten.
Entweder du zeigst das Formular zwar auf server1 an, abgeschickt wird es aber an server2 und dieser verarbeitet es. Das macht aber nicht so viel Sinn, denn dann könntest du es ja direkt dort hochladen.
Oder du lädst dein File erst auf server1 hoch und überträgst es dann von dort über z.B. FTP auf server2.
Um dann die Files auf server1 browsen zu können, wirst du dir aber etwas anderes suchen müssen oder selbst Hand anlegen. Das normale input-Feld kann das nicht.
 
Zuletzt bearbeitet von einem Moderator:
versteh ich das richtig, dass du das HTML-Formular von 'nem anderen Script aus "fernsteuern" willst?

Wenn ja, dann schau dir die PHP-Klasse snoopy mal an - das ist quasi ein kompletter Browser-Emulator, der dann direkt die POST-Requests verschickt und so.

Aber ich wäre auf jeden Fall dafür, dass du uns - am besten mit Skizze - nochmal genau verdeutlichst, was du vor hast - was warum von wo nach wo soll - vielleicht fällt dann jemandem sogar noch 'ne elegantere Lösung ein.
 
Habe das problem gelöst ;)
musste noch den richtigen Content-Type an den Dateinamen dranhängen, jetzt funktioniert es!
quasi sowas:
PHP:
$postme = array();
$postme['action']="sendfile";
$postme['name']='@hallo.mp3'.';Content-type= audio/x-mp3';
$postme['desc']='Hallo Welt MP3';
..und dann halt mit curl das ganze an den webserver übergeben ;)
PHP:
curl_setopt($ch, CURLOPT_POSTFIELDS, $postme);


also cURL hat viel geholfen -> kann man den thread auf "gelöst" setzen?
wie gesacht ist alles cool gelaufen, erklärung siehe oben!
(btw: manchmal habe ich tage da schreib ich echt beschissen*g* weil zu faul zum nachdenken hehe)
 
Zuletzt bearbeitet:
Zurück
Oben