检查空值时如何避免 "Warning: file_get_contents(): Filename cannot be empty"

How to Avoid "Warning: file_get_contents(): Filename cannot be empty" When Checking for an Empty Value

我有一个从 CSV 读取的 PHP 脚本,脚本的一部分有一个 if 语句,该语句将验证 CSV 中的单元格是否为空。如果单元格为空,则执行 if 语句中的代码。如果单元格不为空,则不需要发生任何事情。

虽然脚本运行完美并且完全符合我的需要,但我收到以下警告:

看起来如果代码正在检查 CSV 中的空单元格,这个警告将始终显示。单元格为空的事实不是问题,因为 CSV 中的某些单元格确实是空的,这就是使用 if 语句检查单元格是否为空的全部意义所在。

这是我的脚本中与此相关的部分:

// If the previous row has an empty 'Main Image' field, add the additional image field for that row.
// The line below is line 145 from the screenshot above.
if (!empty(base64_encode(file_get_contents($previousDataLine['Main Image'])))) {
        $client->catalogProductAttributeMediaCreate(
            $sessionId,
            $dataLine['Product SKU'],
            array(
                'file' => array(
                    'content' => base64_encode(file_get_contents($dataLine['All Images (One Per Row)'])),
                    'mime' => 'image/png',
                ),
                'position' => $dataLine['Image Rank Position'],
                'exclude' => '0'
            ),
            0
        );
}

我是不是做错了什么?为什么 PHP 坚持要向我显示此警告,即使我只在单元格 不是 为空时执行代码。谢谢你的时间。

这需要删除代码的 base64_encode(file_get_contents()) 部分。

if (!empty(base64_encode(file_get_contents($previousDataLine['Main Image'])))) {

变成了:

if (!empty($previousDataLine['Main Image'])) {