资讯专栏INFORMATION COLUMN

php curl 发送图片处理

dayday_up / 831人阅读

摘要:上传页面代码可以传相应参数要上传的文件接收图片资源设置时区驗證請求设置白名单接收传参保存图片成功

</>复制代码

  1. //上传页面代码
  2. $url = "http://192.168.1.100/upload.php?lang=cn"; #可以get传相应参数
  3. $file = $path."/". $Icon; //要上传的文件
  4. $fields["f"] = "@".$file;
  5. $ch = curl_init();
  6. curl_setopt($ch, CURLOPT_URL, $url );
  7. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  8. curl_setopt($ch, CURLOPT_POST, 1 );
  9. curl_setopt($ch, CURLOPT_POSTFIELDS, $fields );
  10. curl_exec( $ch );
  11. if ($error = curl_error($ch) ) {
  12. die($error);
  13. }
  14. curl_close($ch);

</>复制代码

  1. //接收图片资源
  2. date_default_timezone_set("Asia/Shanghai"); //设置时区
  3. $ip = "";
  4. if(getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")){
  5. $ip = getenv("HTTP_CLIENT_IP");
  6. }elseif(getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")){
  7. $ip = getenv("HTTP_X_FORWARDED_FOR");
  8. }elseif(getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown")){
  9. $ip = getenv("REMOTE_ADDR");
  10. }elseif(isset($_SERVER["REMOTE_ADDR"]) && $_SERVER["REMOTE_ADDR"] && strcasecmp($_SERVER["REMOTE_ADDR"], "unknown")){
  11. $ip = $_SERVER["REMOTE_ADDR"];
  12. }
  13. preg_match("/[d.]{7,15}/", $ip, $ipmatches);
  14. $ip = $ipmatches[0] ? $ipmatches[0] : "unknown";
  15. //驗證請求IP,设置白名单
  16. $date = date("[Y-m-d H:i:s]");
  17. $allowip = array("192.168.1.100");
  18. if(!in_array($ip,$allowip)){
  19. $ipVal = "{$date}{$ip}
  20. ";
  21. file_put_contents("upload_ip.log", $ipVal, FILE_APPEN);
  22. die(-1);
  23. }
  24. //接收get传参
  25. $lang = isset($_REQUEST["lang"]) ? $_REQUEST["lang"] : "CN";
  26. $uploaddir = "/data/cdncache/res/gifts/{$lang}/";
  27. $uploadfile = $uploaddir . $_FILES["f"]["name"];
  28. if (move_uploaded_file($_FILES["f"]["tmp_name"], $uploadfile)) #保存图片成功
  29. {
  30. $type = $_FILES["f"]["type"];
  31. $tmp_name = $_FILES["f"]["tmp_name"];
  32. $error = $_FILES["f"]["error"];
  33. $size = $_FILES["f"]["size"];
  34. $log_txt = " name:" . $_FILES["f"]["name"] . " type:" . $type . " tmp_name:" . $tmp_name . " error:" . $error . " size:" . $size . " hello " . " lang:" . $_REQUEST["lang"];
  35. $value = "{$date}{$log_txt}
  36. ";
  37. @file_put_contents("upload_ok.log", $value, FILE_APPEND);
  38. exit();
  39. } else {
  40. $type = $_FILES["f"]["type"];
  41. $tmp_name = $_FILES["f"]["tmp_name"];
  42. $error = $_FILES["f"]["error"];
  43. $size = $_FILES["f"]["size"];
  44. $log_txt = " name:" . $_FILES["f"]["name"] . " type:" . $type . " tmp_name:" . $tmp_name . " error:" . $error . " size:" . $size . " hello " . " lang:" . $_REQUEST["lang"];
  45. $value = "{$date}{$log_txt}
  46. ";
  47. @file_put_contents("upload_ng.log", $value, FILE_APPEND);
  48. exit();
  49. }

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/21001.html

相关文章

  • php爬虫】百万级别知乎用户数据爬取与分析

    摘要:本程序是抓取知乎的用户数据,要能访问用户个人页面,需要用户登录后的才能访问。经过查阅资料得知,是因为知乎对图片做了防盗链处理。最终的结果是,用了一个周末就抓取了万的用户数据。 代码托管地址:https://github.com/hoohack/zhihuSpider 这次抓取了110万的用户数据,数据分析结果如下:showImg(https://segmentfault.com/img...

    maxmin 评论0 收藏0
  • 应对恶劣网络环境,为php-curl设置超时限制,防止服务器卡死

    摘要:引发什么问题了呢最核心的问题是香港处在国际网络环境,访问大陆服务器时经常会出现网络抖动的现象,非常无解。其中,负责配置,则负责执行即真正发送请求。 挖洋货这项目,因为没有公司的名头,也就无法备案,所以前端机放在阿里云香港ECS,另配一台阿里云杭州ECS来跑crontab——执行爬虫、保存图片到阿里云OSS等。最近觉得杭州ECS有点多余了(原本还有个杭州RDS的,统一搬到香港RDS了),...

    Faremax 评论0 收藏0
  • 借助诗词API和微博图床搭建自动发图文微博机器人

    摘要:微博图床对于微博图床的理解得力于这篇文章利用微博当图床语言实现。源码如下上传图片到微博图床图片文件图片是否采用方式上传返回的数据微博提交正则表达式提取返回结果中的数据微博机器人源码列举了所要用到的几个重要,最后还是贴一下机器人的源码吧。 ​ 在2011年的时候,浙大的一位博士生借助微博的开放平台为他实验室的一台饮水机弄了个微博,名唤@浙大CCNT实验室饮水机,俗称饮水机娘。当年这...

    沈建明 评论0 收藏0
  • PHP中使用CURL,“撩”服务器只需几行——php curl详细解析和常见大坑

    摘要:七夕啦,作为开发,妹子没得撩就撩下服务器吧,妹子有得撩的同学那就左拥妹子右抱服务器吧,况且妹子是要礼物的,服务器又不用。下面我们来看一些常用的情景,我们需要如何打扮自己配置参数才能正确撩妹正确撩到服务器。 七夕啦,作为开发,妹子没得撩就撩下服务器吧,妹子有得撩的同学那就左拥妹子右抱服务器吧,况且妹子是要礼物的,服务器又不用。好啦,长话短说再长说,祭出今天的工具——CURL(Client...

    SexySix 评论0 收藏0

发表评论

0条评论

dayday_up

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<