开放式写入受密码保护的目录

时间:2013-03-11 17:53:30

标签: php text password-protection

我有一个受密码保护的目录,我想用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是更好的选择,我该怎么做?

1 个答案:

答案 0 :(得分:1)

HTTP和HTTPS协议不允许您创建文件, 有PUT和DELETE,但它们依赖于实现。

密码保护仅适用于通过网络服务器发出的请求。

如果文件位于同一台服务器上, 你可以使用文件的实际路径或绝对路径。

对于外部服务器上的文件,你可以使用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
);