2013-02-17 81 views
0

我有一个解析XML文件的脚本。它需要将文件中引用的图像保存到本地服务器。我遇到的问题是它试图将图像保存为导致http错误的完整url路径。这里是一个重要的XML:file_put_contents的strip url php

$xml_str = file_get_contents(''.$target_file_path.''); 
$xml = new SimpleXMLElement($xml_str); 
$items = $xml->xpath('//image1/@src'); 
foreach($items as $item) { 
$content = file_get_contents(''.$url.''.$item.''); 
file_put_contents(''.$images_folder_path.''.$item.'', $content); 

我需要剥去存储在$项目的file_get_contents留下和file_put_contents之间只是image.jpg的URL,任何帮助,将不胜感激。

编辑:XML输入是:

<time>13:12</time> 
<date>02/15/13 </date> 
<image1 src="http://path/to/image.jpeg" height="180" width="144" style="border-color: #800000" border="1" /> 

图像被远程存储,我需要将它们复制到本地服务器,作为完整的URL被存储在“项目”变量,当脚本获取到file_put_contents正在试图将文件保存为

/home/server/public_html/folder/http://path/to/image.jpeg 
+0

尝试使用'basename()',这将剥离路径信息,只留下文件名 – thaJeztah 2013-02-17 17:59:48

+0

你可以发布一个示例''标签吗?我不确定我明白你的意见。 – complex857 2013-02-17 18:02:16

+0

添加了示例xml – csuk1 2013-02-17 18:13:04

回答

0

如何:

basename("http://www.example.com/picture.jpg"); 

它会输出picture.jpg

+0

有关如何从变量$ item中删除file_put_contents – csuk1 2013-02-17 21:36:05

+0

'basename($ item)'之前的任何想法? – 2013-02-17 21:44:27