PHP-写入失败

PHP-写入失败,php,file-io,fwrite,Php,File Io,Fwrite,我陷入困境,需要帮助。希望有人能帮忙 有人知道我为什么在这段代码中出现“写失败”吗 $write_file = "/usr/home/public_html/php/users_v2.sql"; $write_handle = fopen($write_file, "w") || die("Couln't open users_v2!"); if (is_writeable($write_file)) { if ($write_handle === FALSE) echo 'Faile

我陷入困境,需要帮助。希望有人能帮忙

有人知道我为什么在这段代码中出现“写失败”吗

$write_file = "/usr/home/public_html/php/users_v2.sql";
$write_handle = fopen($write_file, "w") || die("Couln't open users_v2!");

if (is_writeable($write_file)) {
    if ($write_handle === FALSE) echo 'Failed handle?!';
    if (fwrite($write_handle, "Hi\n") === FALSE) echo "Failed write!\n";
}

fclose($write_handle);

提前感谢。

我在任何地方都看到过它的使用,但问题是| | die(“Couln't open users_v2!”)

首先,我补充说:

error_reporting(E_ALL);
查看php报告的错误

$write_handle = fopen($write_file, "w") || die("Couln't open users_v2!");
fclose($write_handle);
返回无效的流句柄错误和文件句柄1。没有它,返回的文件句柄是“资源id#x”

将行更改为:

$write_handle = fopen($write_file, "w"); // || die("Couln't open users_v2!");

你的代码运行良好。现在我要在php.net上发布这篇文章。

我在任何地方都看到过它的使用,但问题是“die”(“Couln't open users_v2!”)

首先,我补充说:

error_reporting(E_ALL);
查看php报告的错误

$write_handle = fopen($write_file, "w") || die("Couln't open users_v2!");
fclose($write_handle);
返回无效的流句柄错误和文件句柄1。没有它,返回的文件句柄是“资源id#x”

将行更改为:

$write_handle = fopen($write_file, "w"); // || die("Couln't open users_v2!");

你的代码运行良好。现在我要在php.net上发布此消息。

在创建文件句柄时使用OR运算符,将根据操作返回一个布尔值。所以$write_句柄将包含true或false,而不是文件资源。打开文件进行写入并测试其是否成功的更好方法是:

$write_handle = fopen($write_file, 'w');
if ($write_handle === false)
{
    die('Could not open file ' . $write_file);
}

此外,还可以使用
()
函数来处理fopen()、fwrite()和fclose()。如果您只对同一个文件执行一次写入操作,我建议您这样做,因为这会带来很大的开销,并且除非您传递
file\u APPEND
标志,否则每次写入都会清空文件。

在创建文件句柄时使用OR运算符,您将根据操作返回一个布尔值。所以$write_句柄将包含true或false,而不是文件资源。打开文件进行写入并测试其是否成功的更好方法是:

$write_handle = fopen($write_file, 'w');
if ($write_handle === false)
{
    die('Could not open file ' . $write_file);
}

此外,还可以使用
()
函数来处理fopen()、fwrite()和fclose()。我只建议您对同一文件只执行一次写入操作,因为这会带来很大的开销,并且除非您通过
file\u APPEND
标志,否则每次写入都会清空文件。

不确定,但您能检查程序是否具有写入该文件的必要权限吗?是的,我检查过了。777是全面的。太奇怪了。你检查过服务器的错误日志了吗?不确定,但是你能检查一下程序是否有写入文件的必要权限吗?是的,我检查过了。777是全面的。太奇怪了。你检查过服务器的错误日志了吗?