如何修复:警告:file_get_contents(http://www.domain.com/assets/magento_img/18540_01.jpg):
How to fix: Warning: file_get_contents(http://www.domain.com/assets/magento_img/18540_01.jpg):
我们正在尝试通过 Dataflow 将一些产品导入 magento
高级配置文件并出现以下错误。我们到处搜索,但找不到有关如何解决此问题的任何答案。我非常希望有人能够阐明这件事。
谁能帮忙解决这个问题,我们将不胜感激。
警告:file_get_contents(http://www.domain.com/assets/magento_img/18540_01.jpg):无法打开流:HTTP 请求失败! HTTP/1.1 404 在第 64
行的 /var/www/vhosts/domain.com/httpdocs/app/code/local/Dataflow/Model/Convert/Handler/Image.php 中找不到
这是我们正在使用的 xml 脚本。
<action type="dataflow/convert_adapter_io" method="load">
<var name="type">ftp</var>
<var name="host"><![CDATA[000.00.00.00]]></var>
<var name="passive">true</var>
<var name="user"><![CDATA[username]]></var>
<var name="password"><![CDATA[password]]></var>
<var name="path"><![CDATA[/]]></var>
<var name="filename"><![CDATA[feedname.csv]]></var>
<var name="format"><![CDATA[csv]]></var>
</action>
<action type="lanot_dataflow/convert_parser_csv" method="parse">
<var name="delimiter"><![CDATA[,]]></var>
<var name="enclose"><![CDATA[]]></var>
<var name="fieldnames">true</var>
<var name="_single_category_path">true</var>
<var name="map">
<map name="product_model"><![CDATA[sku]]></map>
<map name="product_name"><![CDATA[name]]></map>
<map name="product_description"><![CDATA[description]]></map>
<map name="product_retail_price"><![CDATA[price]]></map>
<map name="product_price"><![CDATA[cost]]></map>
<map name="product_quantity"><![CDATA[qty]]></map>
<map name="image_location"><![CDATA[image]]></map>
<map name="IPG_Cat_Desc_1"><![CDATA[category_ids]]></map>
<map name="IPG_Cat_Desc_2"><![CDATA[category_ids]]></map>
<map name="product_brand"><![CDATA[manufacturer]]></map>
<map name="product_barcode"><![CDATA[ean]]></map>
<map name="@type"><![CDATA[simple]]></map>
<map name="@attribute_set"><![CDATA[Default]]></map>
<map name="@visibility"><![CDATA[Catalog, Search]]></map>
<map name="@status"><![CDATA[Enabled]]></map>
<map name="@tax_class_id">Taxable Goods</map>
<map name="@websites">base</map>
<map name="@weight">0</map>
<map name="@short_description"><![CDATA[@description]]></map>
<map name="@thumbnail"><![CDATA[@image]]></map>
<map name="@small_image"><![CDATA[@image]]></map>
</var>
<var name="store"><![CDATA[0]]></var>
<var name="number_of_records">1</var>
<var name="decimal_separator"><![CDATA[.]]></var>
<var name="adapter"><![CDATA[catalog/convert_adapter_product]]></var>
<var name="method">parse</var>
</action>
根据您的评论,此问题是由于图像不存在。所以我建议你先检查图像。你可以通过简单地检查来做到这一点。
$file = "http://www.domain.com/assets/magento_img/18540_01.jpg";
$file_headers = @get_headers($file);
if($file_headers[0] == 'HTTP/1.1 404 Not Found') {
$exists = false;
}
else {
$exists = true;
}
或者你可以试试
if (@getimagesize('http://www.domain.com/assets/magento_img/18540_01.jpg')) {
// your code
}
了解更多信息file_exists。
我们正在尝试通过 Dataflow 将一些产品导入 magento 高级配置文件并出现以下错误。我们到处搜索,但找不到有关如何解决此问题的任何答案。我非常希望有人能够阐明这件事。
谁能帮忙解决这个问题,我们将不胜感激。
警告:file_get_contents(http://www.domain.com/assets/magento_img/18540_01.jpg):无法打开流:HTTP 请求失败! HTTP/1.1 404 在第 64
行的 /var/www/vhosts/domain.com/httpdocs/app/code/local/Dataflow/Model/Convert/Handler/Image.php 中找不到这是我们正在使用的 xml 脚本。
<action type="dataflow/convert_adapter_io" method="load">
<var name="type">ftp</var>
<var name="host"><![CDATA[000.00.00.00]]></var>
<var name="passive">true</var>
<var name="user"><![CDATA[username]]></var>
<var name="password"><![CDATA[password]]></var>
<var name="path"><![CDATA[/]]></var>
<var name="filename"><![CDATA[feedname.csv]]></var>
<var name="format"><![CDATA[csv]]></var>
</action>
<action type="lanot_dataflow/convert_parser_csv" method="parse">
<var name="delimiter"><![CDATA[,]]></var>
<var name="enclose"><![CDATA[]]></var>
<var name="fieldnames">true</var>
<var name="_single_category_path">true</var>
<var name="map">
<map name="product_model"><![CDATA[sku]]></map>
<map name="product_name"><![CDATA[name]]></map>
<map name="product_description"><![CDATA[description]]></map>
<map name="product_retail_price"><![CDATA[price]]></map>
<map name="product_price"><![CDATA[cost]]></map>
<map name="product_quantity"><![CDATA[qty]]></map>
<map name="image_location"><![CDATA[image]]></map>
<map name="IPG_Cat_Desc_1"><![CDATA[category_ids]]></map>
<map name="IPG_Cat_Desc_2"><![CDATA[category_ids]]></map>
<map name="product_brand"><![CDATA[manufacturer]]></map>
<map name="product_barcode"><![CDATA[ean]]></map>
<map name="@type"><![CDATA[simple]]></map>
<map name="@attribute_set"><![CDATA[Default]]></map>
<map name="@visibility"><![CDATA[Catalog, Search]]></map>
<map name="@status"><![CDATA[Enabled]]></map>
<map name="@tax_class_id">Taxable Goods</map>
<map name="@websites">base</map>
<map name="@weight">0</map>
<map name="@short_description"><![CDATA[@description]]></map>
<map name="@thumbnail"><![CDATA[@image]]></map>
<map name="@small_image"><![CDATA[@image]]></map>
</var>
<var name="store"><![CDATA[0]]></var>
<var name="number_of_records">1</var>
<var name="decimal_separator"><![CDATA[.]]></var>
<var name="adapter"><![CDATA[catalog/convert_adapter_product]]></var>
<var name="method">parse</var>
</action>
根据您的评论,此问题是由于图像不存在。所以我建议你先检查图像。你可以通过简单地检查来做到这一点。
$file = "http://www.domain.com/assets/magento_img/18540_01.jpg";
$file_headers = @get_headers($file);
if($file_headers[0] == 'HTTP/1.1 404 Not Found') {
$exists = false;
}
else {
$exists = true;
}
或者你可以试试
if (@getimagesize('http://www.domain.com/assets/magento_img/18540_01.jpg')) {
// your code
}
了解更多信息file_exists。