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

Saving image file name exactly as URL image file into folder in PHP

我以前访问过这个 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 文件名的动态。例如,如果我有一个像这样的图像 url:https://cf.dropboxstatic.com/static/images/brand/glyph-vflK-Wlfk.png,我希望它将图像保存到具有确切图像名称的目录中,在本例中为 glyph-vflK-Wlfk.png

这可以吗?

据我了解,您要执行的操作如下:

$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);

有一个函数,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()

我会这样做

$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;