PHP版本:5.1.6:无法写入文件
我正在使用5.1.6版,发现了一个奇怪的问题。我无法从脚本创建和写入文件,而如果我显式创建文件,然后运行脚本,它会写入数据 我是不是漏掉了什么明显的东西 我正在尝试的测试代码是:PHP版本:5.1.6:无法写入文件,php,fopen,fwrite,Php,Fopen,Fwrite,我正在使用5.1.6版,发现了一个奇怪的问题。我无法从脚本创建和写入文件,而如果我显式创建文件,然后运行脚本,它会写入数据 我是不是漏掉了什么明显的东西 我正在尝试的测试代码是: $message = "Test"; $myFile = "testFile.txt"; if (file_exists($myFile)) { $fh = fopen($myFile, 'a'); fwrite($fh, $message."\n"); } else { chmod("/path/to/d
$message = "Test";
$myFile = "testFile.txt";
if (file_exists($myFile)) {
$fh = fopen($myFile, 'a');
fwrite($fh, $message."\n");
} else {
chmod("/path/to/dir/*", 0755); //updated code
$fh = fopen($myFile, 'w') or die("Cannot open file \"$myFile\"...\n");
fwrite($fh, $message) ;
}
fclose($fh);
结论:
谢谢大家的回复。这是一个许可问题。我更改了目录路径,它可以工作:)我遇到了一个类似的问题,通过将文件夹的所有者更改为apache用户解决了这个问题。这将为您的php脚本提供创建文件和写入该文件夹中的文件所需的权限。
我猜您将无法从php脚本中下载文件夹,只能通过服务器访问(ssh或ftp)。至少,这是我必须走的道路。我遇到了一个类似的问题,通过将文件夹所有者更改为apache用户解决了这个问题。这将为您的php脚本提供创建文件和写入该文件夹中的文件所需的权限。
我猜您将无法从php脚本中下载文件夹,只能通过服务器访问(ssh或ftp)。至少,这是我必须走的道路。您的代码很好。仅chmod所在的行不是必需的 注释掉
chmod(“/path/to/dir/*”,0755)代码>这将chmod set文件夹中的所有文件
请参阅上的PHP手册
你的代码很好。仅chmod所在的行不是必需的
注释掉chmod(“/path/to/dir/*”,0755)代码>这将chmod set文件夹中的所有文件
请参阅上的PHP手册
权限问题?使用php.net/manual/fr/function.chmod.php“>chmodIt是一个文件和目录权限问题,与这个应该更新的古老php版本无关!@GhilasBELHADJ:试图更改权限,但仍然面临相同的问题(上面编辑的代码)@iDev据我所知,你的代码没有任何问题。正如其他人所说,你有一个“路径”问题和/或“权限”。你为什么要用这个chmod(“/path/to/dir/*”,0755);
加一个星号?你在尝试chmod“一切”?@iDev只是为了测试的目的,在没有chmod的情况下尝试你的代码(“/path/to/dir/*”,0755);
权限问题?使用php.net/manual/fr/function.chmod.php“>chmodIt是一个文件和目录权限问题,与这个应该更新的古老php版本无关@GhilasBELHADJ:试图更改权限,但仍然面临相同的问题(上面编辑的代码)@iDev据我所知,您的代码没有问题。正如其他人所说,您有“路径”问题和/或“权限”。为什么要使用这个chmod(“/path/to/dir/*”,0755)代码>有星星吗?您正在尝试chmod“一切”?@iDev仅用于测试目的,请在不使用chmod(“/path/to/dir/*”,0755)的情况下尝试您的代码代码>
$message = "Test";
$myFile = "testFile.txt";
if (file_exists($myFile)) {
$fh = fopen($myFile, 'a');
fwrite($fh, $message."\n");
} else {
//chmod("/path/to/dir/*", 0755);
$fh = fopen($myFile, 'w') or die("Cannot open file \"$myFile\"...\n");
fwrite($fh, $message) ;
}
fclose($fh);