プロジェクトに取り組んでいます。PHP を使用してリモートの場所から画像をダウンロードし、FTP 経由で別のサーバーにアップロードし、ハードドライブにダウンロードする必要があります。私はこれをよく行い、FTP を使用してローカルにアップロードします。ファイルを直接渡すこともできます。その方法を教えてください。
file_put_contents('ftp://username: passwd@ftphost/filename', file_get_contents('http:/ /remote host/filename'));
file_put_contents('ftp://username:password@) を使用する場合、すでに $ftp_stream が FTP サーバーに接続されています。 ftphost/filename', file_get_contents('http://リモートホスト/ファイル名')) の場合、再度 FTP サーバーに接続する必要があり、必然的にリソースの無駄が発生します。
疑問に思います: ftp_put($ftp_stream,$remote_file, $local_file) のような既存の $ftp_stream を使用して、コンテンツをファイルに直接書き込む file_put_contents() の関数を実現できますか?
つまり、ftp_put($ftp_stream,$remote_file, $string) に似た関数はありますか?
あなたの脳は混乱していると思います
ftp 拡張機能には ftp_fput 関数が用意されています。それを使用してみてはいかがでしょうか?
$fp = fopen('http://remotehost/filename', 'rb');
ftp_fput($ftp_stream, $remote_file, $fp);
はは、書くときはまったく動きたくないコード。脳が逝ってしまった