使用PHP下载、编辑并重新加载FTP文件

使用PHP下载、编辑并重新加载FTP文件,php,ftp,Php,Ftp,我正在尝试使用PHP以我网站上的形式从FTP获取server.cfg文件。在此之后,我想在网站上编辑server.cfg文件,单击“提交”并在FTP上重新加载编辑后的文件。我做了一些研究,但还是有一些错误。我已设法以以下格式获取文件:。但是如果我编辑并保存表单,就会出现错误。我的PHP代码: <?php $config = array ( 'user' => 'Hunterr', 'pass' => '[PASSWORD]', 'domain' =>

我正在尝试使用PHP以我网站上的形式从FTP获取server.cfg文件。在此之后,我想在网站上编辑server.cfg文件,单击“提交”并在FTP上重新加载编辑后的文件。我做了一些研究,但还是有一些错误。我已设法以以下格式获取文件:。但是如果我编辑并保存表单,就会出现错误。我的PHP代码:

<?php

$config = array 
( 
'user'  => 'Hunterr', 
'pass'  => '[PASSWORD]', 
'domain'    => 'ycn-hosting.com:21', 
'file'      => '213.108.31.167-27030/etpro/server.cfg',       # relative to 'domain' 
); 

if(isset($_POST['submit'])) 
{ 
$fp = fopen($config['file'],'w'); 
fwrite($fp,stripslashes($_POST['newd'])); 
fclose($fp); 

$ftp = ftp_connect($config['domain']); 
ftp_login($ftp,$config['user'],$config['pass']); 
ftp_pasv($ftp,TRUE); 
ftp_put($ftp,$config['file'],$config['file'],FTP_BINARY); 
ftp_close($ftp); 

} 
?> 

<form width="440" height="440" method="post" action="<?=( $_SERVER['PHP_SELF'] )?>"> 
<textarea name="newd"><?=(       file_get_contents('ftp://'.$config['user'].':'.$config['pass'].'@'.$config['domain'].'/'.$co    nfig['file']) )?></textarea> 
<input type="submit" name="submit" value="Save"> 
</form>


正如错误消息所述,“警告:fopen(213.108.31.167-27030/etpro/server.cfg)[function.fopen]:无法打开流:没有这样的文件或目录”,您正在尝试打开一个不存在的文件。该文件不在运行脚本的目录中。使用server.cfg文件的绝对路径或正确的相对路径

您可能还需要在其中添加一些检查,以查看fopen命令是否实际成功


gl

嗨,谢谢你的回答。嗯,我很肯定目录是好的。此外,文件213.108.31.167-27030/etpro/server.cfg以以下形式打开。。。您可以在这里看到:您通过ftp打开文件来填充文本区域。在我看来,它位于该帐户的根目录中。但是,您的脚本文件位于“public_html”目录中。因此,尝试将“./”添加到fopen命令中:$fp=fopen(“..”$config['file'],'w');所以我只是将代码编辑为:$fp=fopen(“../”$config['file'],'w')?如果我这样做,我会得到同样的错误。然后尝试使用绝对路径