来自远程服务器的fopen(php)仅用于读取

问题描述 投票:0回答:1

我需要从远程服务器打开一个文本文件,并使用php fopen()在其中写入一些信息。

allow_url_fopen打开(在我的php.ini中)

我可以读取此远程文件,但不能写入它。

代码:

<?php
$data = 'some text';
$filename = 'ftp://admin:[email protected]/web/domain.com/public_html/test2.txt';
$fh = fopen($filename,'r'); 
echo fread($fh, filesize($filename));
fclose ( $fp );

$fh = fopen($filename,'w+'); 
if ($fp) {
echo 'remote file is opened, writing data';
fwrite ( $fp, $data );
fclose ( $fp );
}
 else
  {
  echo 'remote file not opened';
  }
?>

显示:一些文字远程文件未打开

我该如何写文件?

php ftp fopen
1个回答
0
投票

来自PHP: ftp://

允许读取通过FTP访问现有文件和创建新文件。

您可以打开文件进行读取或写入,但不能同时打开。 如果远程文件已经存在于ftp服务器上,并且您尝试打开该文件进行写入但未指定上下文选项覆盖,则连接将失败。如果需要通过ftp覆盖现有文件,请在上下文中指定overwrite选项,然后打开文件进行写入。或者,您可以使用FTP扩展名。

也请注意:

[Note:追加

文件可以通过ftp:// URL包装器附加。

我不确定覆盖是否意味着截断。如果是这样,您可以下载,修改然后上传和覆盖,或查看PHP: FTP Functions

© www.soinside.com 2019 - 2024. All rights reserved.