0

例如,我有包含以下内容的 xml 文件:

<?xml version="1.0" encoding="utf-8"?>

<SHOP>
    <SHOPITEM>
        <PRODUCT>Toy</PRODUCT>
        <DESCRIPTION>Toy description.</DESCRIPTION>
        <URL>http://www.hracky-matyland.cz/product/hracky-pro-nejmensi/jezek-na-baterie/4</URL>
        <IMGURL>http://www.hracky-matyland.cz/product_images/temp/jezek.jpg</IMGURL>
        <PRICE>74</PRICE>
        <PRICE_VAT>89</PRICE_VAT>
        <DUES>0</DUES>
        <AVAILABILITY>0</AVAILABILITY>
    </SHOPITEM>
</SHOP>

我想从 IMGURL 标签中获取图像并下载它。当然,我在 xml 中有更多的产品。我需要它的原因是客户正在移动到我的网络并希望所有产品都移动到。最好的办法是我可以将每个图像下载到名称为 PRODUCT 标签的文件夹中,这样每个产品都会有自己的包含图像的文件夹。我知道 cURL 可以做到这一点,但我不知道如何使用它。提前谢谢。

4

1 回答 1

1
$data = <<<XML
<?xml version='1.0' standalone='yes'?>
<SHOP>
    <SHOPITEM>
        <PRODUCT>Toy</PRODUCT>
        <DESCRIPTION>Toy description.</DESCRIPTION>
        <URL>http://www.hracky-matyland.cz/product/hracky-pro-nejmensi/jezek-na-baterie/4</URL>
        <IMGURL>http://www.hracky-matyland.cz/product_images/temp/jezek.jpg</IMGURL>
        <PRICE>74</PRICE>
        <PRICE_VAT>89</PRICE_VAT>
        <DUES>0</DUES>
        <AVAILABILITY>0</AVAILABILITY>
    </SHOPITEM>
</SHOP>
XML;

$source = new SimpleXMLElement($data);
echo $source->SHOPITEM[0]->IMGURL;

$data包含 XML 数据。

如果要搜索正确的条目,则应使用 DOM / DOMXpath:http ://www.php.net/manual/en/class.domxpath.php

对于下载,您可以使用 cUrl 或简单地使用 file_get_contents:

file_put_contents ( 'localfile.jpg', file_get_contents($source->SHOPITEM[0]->IMGURL));

确保 URL 带有正确的语法。

于 2013-08-18T10:39:17.327 回答