很多站长朋友们都不太清楚php获取网络图片,今天小编就来给大家整理php获取网络图片,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 PHP如何获取服务器图片 2、 php如何下载动态图片保存到本地? 3、 在php中用正则表达式获取下面字符串中的第二个图片链接,链接并不是固定的。 4、 js和php在同一个文件中相互获取值的问题 PHP如何获取服务器图片你在上传图片的时候,把图片地址存到数据库内,直接查询输出就好了
如果不是通过代码上传的,www文件夹是根目录文件夹,图片地址为:http://你的域名/img/name.jpg
php如何下载动态图片保存到本地?php 远程下载文件
function httpcopy($url, $file="", $timeout=60) {
$file = empty($file) ? pathinfo($url,PATHINFO_BASENAME) : $file;
$dir = pathinfo($file,PATHINFO_DIRNAME);
!is_dir($dir) @mkdir($dir,0755,true);
$url = str_replace(" ","%20",$url);
if(function_exists('curl_init')) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$temp = curl_exec($ch);
if(@file_put_contents($file, $temp) !curl_error($ch)) {
return $file;
} else {
return false;
}
} else {
$opts = array(
"http"=>array(
"method"=>"GET",
"header"=>"",
"timeout"=>$timeout)
);
$context = stream_context_create($opts);
if(@copy($url, $file, $context)) {
//$http_response_header
return $file;
} else {
return false;
}
}
}
在php中用正则表达式获取下面字符串中的第二个图片链接,链接并不是固定的。preg_match('/data-img=\"([^\"]+)/','<div class="preview"><img src="" data-img="" alt="" /></div>',$rzt);
其中$rzt[1]就是你要获取的链接地址
js和php在同一个文件中相互获取值的问题你好php是服务端脚本语言,js是浏览器端脚本语言,除非使用ajax进行数据提交否则,一但服务端生成好页面传到浏览器端后就不再参与浏览器端的“运算”,所以你想在同一个页面中不重新进行请求就js和php相互获取值是不现实的。
另:
你的代码分析如下:
<script>
var linka;
linka=window.location.href;
</script>
<?php
$ch[0]="<script>document.write(linka);</script>";
echo $ch[0]."<br />";
<script>
到这步为止,php获得js的变量非常顺利
下面接着
<script>
var k;
k="<?php echo $ch[0];?>";
alert(k);
</script>
其实你的整个页面都是php的,执行
$ch[0]="<script>document.write(linka);</script>";
这一句的时候,php的$ch[0]仅仅只是被赋予了"<script>document.write(linka);</script>"这个字符串,js代码并没有运行.php也并没有获得js的变量!获得的只是字符串而已.
关于php获取网络图片的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php获取网络图片 php抓取网页图片的详细内容...