如何使用PHP使用默认名称在我的服务器中保存图像?

时间:2015-12-25 12:35:01

标签: php image save

我想知道如何使用默认名称或原始名称从我服务器的“images”目录中的URL保存图像。 我要保存的图像有两种类型的URL,最常见的是显示图像名称和扩展名的图像,以及其他隐藏它的图像。

示例:

https://fbcdn-sphotos-b-a.akamaihd.net/hphotos-ak-xtf1/t31.0-8/p960x960/12244276_1007140432640240_2083118789257532219_o.jpg

https://fbcdn-sphotos-f-a.akamaihd.net/hphotos-ak-xfa1/v/t1.0-9/11070008_891891757498442_2110055736558514695_n.jpg?oh=aed45e8772757a932e8001f2024be09d&oe=57169246&gda=1459966832_bd13f474178cc030348f8fdc0dc0eafd

...我想要保存的名称是默认的,当您右键单击它们并选择“将图像另存为...”时,在这种情况下:12244276_1007140432640240_2083118789257532219_o.jpg和11070008_891891757498442_2110055736558514695_n.jpg分别

我尝试使用类似pathinfo的功能,但它不起作用。

<?php
$partes_ruta = pathinfo('https://fbcdn-sphotos-b-a.akamaihd.net/hphotos-ak-xtf1/t31.0-8/p960x960/12244276_1007140432640240_2083118789257532219_o.jpg');

echo $partes_ruta['dirname'], "\n";
echo $partes_ruta['basename'], "\n";
echo $partes_ruta['extension'], "\n";
echo $partes_ruta['filename'], "\n"; // desde PHP 5.2.0

?> 

由于我有一个西班牙语导航器,它总是说错误:“Lacofificacióndecaracteres del documento HTML no fue declarada。”El documentoseveráconbasura en el texto en algunas configuraciones de navegadores si el documento contiene caracteres fuera del rango US-ASCII.Carcocificacióndecaracteres delapáginadebedeclararse en el documento o en el protocolo de transferencia。“ 它的意思是没有声明HTML文档的字符编码信息,如果文件的字符超出US-ASCII范围,则文档可能会显示为脏。必须声明字符编码。

有什么想法吗?谢谢!

2 个答案:

答案 0 :(得分:0)

我会尝试使用explode

解析网址
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_AUTOREFERER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_FORBID_REUSE, 1);
curl_setopt($ch, CURLOPT_FRESH_CONNECT, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($ch);
curl_close($ch);
@mkdir("images");
$end = end(explode("/", $url));
file_put_contents("images/$end", $output);

答案 1 :(得分:0)

我发现如果我添加HTML代码脚本有效,我不知道为什么这是neede,因为页面是一个php,但它的工作原理。

<?php

$partes_ruta = pathinfo('https://fbcdn-sphotos-b-a.akamaihd.net/hphotos-ak-xtf1/t31.0-8/p960x960/12244276_1007140432640240_2083118789257532219_o.jpg');
echo $partes_ruta['basename'], "\n";

?>

<!DOCTYPE HTML>
<head><meta charset="utf-8"></head>
<body></body>
</html>