PHPでのカスタムFTPラッパーの作成についてサポートが必要です。
使用しました
$h=fopen('ftp://....');
しかし、これはすべてのFTPサーバーでうまく機能するわけではなく(アクティブ/パッシブモードで問題が発生することもあります)、ラッパーでこれを制御することはできません。
http://php.net/manual/en/book.ftp.phpの関数を使用していますが、すべて正常に機能します。PHPFTPラッパーを使用したダウンロードでのみ問題が発生します。
ダウンロードしたファイルをディスクに保存したくないので、ラッパーを使用する必要があります。ストリームからファイルの一部を読み取り、ユーザーのブラウザに出力します。
だから私はPHPでカスタムFTPラッパーを作成したいと思います。そして何よりも、それがhttp://php.net/manual/en/book.ftp.phpの関数に基づいている場合です。
そこに例がありますhttp://php.net/manual/en/function.ftp-fget.php
function ftp_get_contents ($conn_id, $filename,
//Create temp handler:
$tempHandle = fopen('php://temp', 'r+');
//Get file from FTP assuming that it exists:
ftp_fget($conn_id, $tempHandle, $filename, FTP_ASCII, 0));
//Getting detailed stats to check filesize:
$fstats = fstat($tempHandle);
return fread($tempHandle, $fstats['size']);
}
しかし、これは完全なファイルをディスクに保存するので良くありません。この後、ローカルファイルから読み取ることができます。
このようなことを知っていますが、ファイル全体をローカルにキャッシュせずに、FTPサーバーから一部のファイルを読み取ることができますか?
ありがとう。