将图像文件名完全保存为URL图像文件到PHP中的文件夹中

时间:2015-10-30 15:42:24

标签: php file-get-contents file-put-contents

我之前访问过这个article并发现它很有用,但我想通过根据URL名称保存图像文件名来为其添加更多功能。

这是我到目前为止所做的工作。

$contents=file_get_contents('http://www.domain.com/logo.png');
$save_path="C:/xampp/htdocs/proj1/download/[logo.png]";
file_put_contents($save_path,$contents);

基本上,在我放置方括号的地方,我想根据URL文件名获得动态。例如,如果我有一个图像网址,例如:https://cf.dropboxstatic.com/static/images/brand/glyph-vflK-Wlfk.png,我希望将图像保存到具有确切图像名称的目录中,在本例中为glyph-vflK-Wlfk.png

这可能吗?

3 个答案:

答案 0 :(得分:0)

根据我的理解,您要做的是以下内容:

$url = 'http://www.domain.com/logo.png';
$contents=file_get_contents($url);

$posSlash = strrpos($url,'/')+1);
$fileName = substr($url,$posSlash);

$save_path="C:/xampp/htdocs/proj1/download/".$fileName;
file_put_contents($save_path,$contents);

答案 1 :(得分:0)

有一个功能,basename()

$url="http://www.domain.com/logo.png";
$contents=file_get_contents($url);
$save_path="C:/xampp/htdocs/proj1/download/".basename($url);
file_put_contents($save_path,$contents);

您可能想要检查file_exists()是否已存在。

答案 2 :(得分:0)

我会这样做

$url = "http://www.domain.com/logo.png";

$file = file_get_contents($url);
$path = "C:/xampp/htdocs/proj1/download/". basename($url);

return !file_exists($path) ? file_put_contents($path, $file) : false;