Php 文件\u放置\u内容不返回值
我在使用文件内容时遇到问题。我想我可以在laravel/php中做类似的事情Php 文件\u放置\u内容不返回值,php,laravel,Php,Laravel,我在使用文件内容时遇到问题。我想我可以在laravel/php中做类似的事情 $response = new stdClass(); $key = generateKey(); // generates a 32 bit key $dir = "/mnt/my-usb"; if (file_put_contents($dir . "/" . "key", $key) === true) { $response->status = "Fail"; $response->
$response = new stdClass();
$key = generateKey(); // generates a 32 bit key
$dir = "/mnt/my-usb";
if (file_put_contents($dir . "/" . "key", $key) === true) {
$response->status = "Fail";
$response->message = "Some user facing message that describes the error";
return Response::json($response, 500);
}
所以我想我可以检查状态代码文件的内容,并返回一条正确的错误消息。但是,当我单步执行这段代码时,一旦它到达if语句,如果出现故障,它就永远不会进入if语句。我不知道为什么。我在没有===真的情况下尝试了它,得到了相同的结果。我以为file\u put\u contents会返回某种错误代码,我可以查找这些代码并创建一条面向用户的消息,但它只是自动返回,我无法创建一个响应以发送回客户端。有什么想法吗?提前谢谢 检查手册:
此函数返回写入文件的字节数,失败时返回FALSE
意思是:文件内容将永远不会返回
TRUE
。但是,它将返回false
,因此如果坚持使用布尔值,则需要使用:
if (file_put_contents($dir . "/" . "key", $key) !== false) {
// reset of code
}
此外,还有多个示例介绍如何使
文件\u放入\u内容
以“静默方式死亡”(即测试文件是否可以打开,检查文件夹是否可写等)尝试将完整路径添加到文件路径,如下所示:
/home/Site_Name/public_html/
此函数返回写入文件的字节数,失败时返回FALSE。
file\u put\u contents
出错时返回FALSE
。您正在测试true
。另外,$key
以前是否作为目录存在?如果没有,则需要先使用mkdir()
创建该目录,然后才能遍历该目录并放置内容。