gpt4 book ai didi

PHP: fopen 错误处理

转载 作者:IT王子 更新时间:2023-10-29 00:06:14 32 4
gpt4 key购买 nike

我确实获取了一个文件

$fp = fopen('uploads/Team/img/'.$team_id.'.png', "rb");
$str = stream_get_contents($fp);
fclose($fp);

然后该方法将其作为图像返回。但是当 fopen() 失败时,因为文件不存在,它会抛出一个错误:

[{"message":"Warning: fopen(uploads\/Team\/img\/1.png): failed to open stream: No such file or directory in C:\...

显然,这将以 json 格式返回。

现在的问题是:如何捕获错误并防止方法将此错误直接抛给客户端?

最佳答案

您应该首先通过 file_exists() 测试文件是否存在。

try
{
$fileName = 'uploads/Team/img/'.$team_id.'.png';

if ( !file_exists($fileName) ) {
throw new Exception('File not found.');
}

$fp = fopen($fileName, "rb");
if ( !$fp ) {
throw new Exception('File open failed.');
}
$str = stream_get_contents($fp);
fclose($fp);

// send success JSON

} catch ( Exception $e ) {
// send error message if you can
}

或没有异常(exception)的简单解决方案:

$fileName = 'uploads/Team/img/'.$team_id.'.png';
if ( file_exists($fileName) && ($fp = fopen($fileName, "rb"))!==false ) {

$str = stream_get_contents($fp);
fclose($fp);

// send success JSON
}
else
{
// send error message if you can
}

关于PHP: fopen 错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24753821/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com