Hallo allerseits!
Ich habe folgendes Problem: Ich erzeuge in einem geschützten Bereich dynamisch eine Datei, die dann sofort downgeloadet werden kann. Dazu benötige ich nun ftp_get, da die Datei nicht im Browser geöffnet werden soll. Habe schon einiges dazu im Forum gelesen, dass der IE das nicht immer mag, ich möchte es aber trotzdem gerne versuchen.
Nun mein ftp-Skript sieht so aus:
<?php
$port=21;
$server="server.com";
$conn=ftp_connect($server,$port);
if(!$conn) die ("Verbindungsaufbau gescheitert.");
echo ("Verbindung: Ok<br>");
$log = ftp_login($conn, $user, $pass);
if(!$log) die ("Login gescheitert.");
echo ("Login: Ok<br>");
$change=ftp_chdir($conn, /verzeichnis1/verzeichnis2");
if(!$change) die ("Verzeichniswechsel scheitert.");
echo ("Verzeichnis: Ok<br>");
$trans = ftp_get($conn,"$local","$ftp",FTP_BINARY);
if(!$trans) die ("Download der Datei $ftp nach $local war fehlerhaft");
echo ("Download Ok<br>");
ftp_quit($conn);
?>
Das Problem dabei: Der Download funktioniert nicht. Heißt der Verzeichniswechsel funktioniert, dann aber läuft etwas schief. Ich nehme fast an, dass wahrscheinlich die gewünschte Datei nicht die richtigen Zugriffsrechte hat. Da ich sie ja zuvor dynamisch erzeugt habe.
Hier wird wohl der Befehl ftp_site ins Spiel kommen, oder? Wie ist denn hier die korrekte Syntax? ftp_site($conn, string cmd) - Was kann ich als String cmd eingeben? Reicht hier der Dateiname wenn ich im gewünschten Verzeichnis bin?
Zugriffsrechte sehen zur Zeit folgendermaßen aus:
- -rwxr-xr-x 1
Ich kann mir auch mit ftp_rawlist die Infos des Verzeichnisses ausgeben lassen, nur der Download klappt nicht.
Oder liegt es vielleicht an der lokalen Datei? Diese muss ja vorher nicht existieren bei ftp_get, oder? Muss (darf) ich hier nur den Dateinamen angeben oder den gesamten Pfad? Und wenn Pfad - wie? c:\datei.xyz?
Danke im Voraus für Tipps und Anregungen wie ich das Problem in den Griff bekommen könnte!
lg
Sabine