fopen不能使用与r php不同的东西

fopen不能使用与r php不同的东西,php,fopen,Php,Fopen,我对fopen函数和open mode参数有问题 密码 如果我使用r作为打开模式,回音线工作。。。但是,如果我为使用相同url文件的任何其他文件更改此参数,它将停止工作,只看到read:和nothing other。 我尝试了w+r+a+。。。但是没有人工作。 我试图读取的是一个txt文件,我更改了该文件的权限,现在是777 我做错了什么?鉴于您的变量命名,$url表示您正在尝试向http://example.com/.... 这是不可能的。您无法写入url,因为PHP完全不知道远程服务器需要什

我对fopen函数和open mode参数有问题

密码 如果我使用r作为打开模式,回音线工作。。。但是,如果我为使用相同url文件的任何其他文件更改此参数,它将停止工作,只看到read:和nothing other。 我尝试了w+r+a+。。。但是没有人工作。 我试图读取的是一个txt文件,我更改了该文件的权限,现在是777


我做错了什么?

鉴于您的变量命名,$url表示您正在尝试向http://example.com/.... 这是不可能的。您无法写入url,因为PHP完全不知道远程服务器需要什么协议。例如,奇迹般的PHP决定让这个URL通过,并使用http POST。。。但是服务器需要http PUT。哎呀,那不行

同样,永远不要假设对外部资源的操作成功。始终假定失败,并将成功视为惊喜:

function writeOnFile($url, $text)
   if (!is_writeable($url)) {
      die("$url is not writeable");
   }
   $fp = fopen($url, "w");
   if (!$fp) {
      die("Unable to open $url for writing");
   }
   etc...
}

如果您只想读/写,为什么要授予执行权限?请原谅延迟。。。UUPPS!!我使用的是一个绝对url,我不知道我不工作,但这是有意义的,但有人可以修改其他服务器或类似的文件。非常感谢你。
function writeOnFile($url, $text)
   if (!is_writeable($url)) {
      die("$url is not writeable");
   }
   $fp = fopen($url, "w");
   if (!$fp) {
      die("Unable to open $url for writing");
   }
   etc...
}