0

PHPでテキストファイルに書き込みたいパスワードで保護されたディレクトリがあります。cURLおそらくそれが必要になるでしょうが、私はfopen今試しています:

$filename = "example.txt"; 
$file     = "https://user:pass@example.com/pass-protected-folder/" . $filename;

$fh = fopen( $file, 'w' );
fwrite( $fh, "Testing 1, 2, 3.." );
fclose( $fh );

これは機能しません。エラーはありませんが、ファイルも書き込まれません。

仕事をするために私は何をすべきですかfopen、そして/またはそれcURLがより良い選択肢であるかどうか?

4

1 に答える 1

1

HTTP および HTTPS プロトコルではファイルを作成できません。PUT と DELETE がありますが、実装に依存しています。

パスワード保護は、Web サーバーを介したリクエスト専用です。

ファイルが同じサーバーにある場合は、ファイルへの実パスまたは絶対パスを使用できます。

外部サーバー上のファイルの場合、そのためにsshまたはscpを使用できます(Apacheを推測するため、http / sを介して書き込むことはできません):libssh拡張(php.net/manual/en/ref.ssh2.php)またはphp `phpseclib' ( phpseclib.sourceforge.net )。セキュリティを気にしない場合は、FTP を使用することもできます。

libssh 例:

$connection = ssh2_connect($myssh['host'], $myssh['port']);
ssh2_auth_password(
  $connection,
  $myssh['username'],
  $myssh['password']
);
$localfile = $myssh['localpath'].$file;
$remotefile = $myssh['remotepath'].$file;
ssh2_scp_send(
  $connection,
  $localfile,
  $remotefile, 0644
);
于 2013-03-11T18:09:02.013 に答える