如何修复:警告: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