如何修复:警告:file_get_contents(http://www.domain.com/assets/magento_img/18540_01.jpg):

时间:2015-10-12 13:00:51

标签: magento dataflow

我们正试图通过Dataflow将一些产品导入magento 高级配置文件,并得到以下错误。我们已经搜索了高低,但却找不到任何关于如何解决这个问题的答案。我非常希望有人能够对这件事情有所了解。

请任何人帮忙解决这个问题,我们将非常感激。

警告:file_get_contents(http://www.domain.com/assets/magento_img/18540_01.jpg):无法打开流:HTTP请求失败!在第64行的/var/www/vhosts/domain.com/httpdocs/app/code/local/Dataflow/Model/Convert/Handler/Image.php中找不到HTTP / 1.1 404

这是我们正在使用的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>

1 个答案:

答案 0 :(得分:-1)

根据您的意见,此问题是由于图片不存在。所以我建议你先检查图像。你可以通过仔细检查来做到这一点。

$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