我有一个PHP脚本,它从CSV读取,部分脚本有一个if
语句,用于验证CSV中的单元格是否为空。如果单元格为空,则执行if
语句中的代码。如果单元格不是空的,则不需要发生任何事情。
虽然脚本完美无缺,并且完全符合我的需要,但我收到以下警告:
如果代码正在检查CSV中的空单元格,则看起来该警告将始终显示。单元格为空的这一事实不是问题,因为CSV中的某些单元格是正确的空白,这就是使用// 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
);
}
语句来检查单元格是否为空的重点。
以下是与此相关的脚本部分:
class Upload
mount_uploader :file, FileUploader
end
@upload = Upload.new
@upload.file = File.new("abc.html", 'w')
@upload.save!
我做错了吗?为什么PHP坚持向我显示此警告,即使我只在单元格 为空时执行代码。谢谢你的时间。
答案 0 :(得分:1)
这需要删除代码的base64_encode(file_get_contents())
部分。
if (!empty(base64_encode(file_get_contents($previousDataLine['Main Image'])))) {
成为:
if (!empty($previousDataLine['Main Image'])) {