2011-12-02 77 views
0
<div class='film' id='1'> 
<img src='abc.jpg'></img> 
<p>blablabla</p> 
</div> 
<div class='film' id='2'> 
<img src='dfdf.jpg'></img> 
<p>blablabla</p> 
</div> 
<div class='film' id='3'> 
<img src='fgsf.jpg'></img> 
<p>blablabla</p> 
</div> 
<div class='film' id='4'> 
<img src='dfg.jpg'></img> 
<p>blablabla</p> 
</div> 
. 
. 
. 

我创建了带有PHP文件的类'film'的5700 divs。 Divid正在计数。每个div包含'<p>'元素和'<img>'元素。段落和图像元素没有类或ID。将图像元素保存在特定的div中

我想将这些div中的图像元素保存在名为'filmimages'的文件夹中。我需要将URL插入我的数据库。

我的代码应该这样做。

DIV id为1 - >保存图像元件的文件夹 - > filmimages/abc.jpg的 - >插入到表(URL)其中id = '1' 值 'filmimages/abc.jpg的'

如何用php做到这一点?

回答

0

那么你会想要将该HTML加载到DOM中,并使用getElementsByTagName来获取这些图像的数组。然后你将要使用file_put_contents来保存它。所以...

$dom=new DOMDocument(); 
$dom->loadHTMLFile($file); 
$images=$dom->getElementsByTagName('img'); 
foreach($images as $image) { 
    file_put_contents('filmimages/abc.jpg', file_get_contents(strval($image['src']))); 
} 

或类似的东西。我没有测试过这个代码,但看起来没错。至于你的数据库,祝你好运,我只是搞砸了XML,没有任何SQL :)

+0

注意:你要为这些图像使用唯一的文件名,但我假设你知道:) – mseancole

+0

不能使用DOMElement类型的对象作为C:\ AppServ \ www \ filmsitesi \ pullimage.php中的数组 作为答案中的第5行 – user1056307

+0

已编辑的答案。增加了'strval'来修复它。 – mseancole