私人论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 6563|回复: 5

PHP 常用代码

[复制链接]

156

主题

303

帖子

1664

积分

新手上路

Rank: 1

积分
1664
发表于 2018-6-13 16:20:31 | 显示全部楼层 |阅读模式
写文件
file_put_contents('a.txt',$str,FILE_APPEND);

读文件
$txt = file_get_contents('a.txt');

调试变量
echo '<pre>';var_dump($d);die();

正则查找
preg_match_all('/正则表达式/i',$字符串,$结果数组);


在数组中
in_array($s, $arr)


str_split — 将字符串转换为数组(按字节)
str_split ( string $string [, int $split_length = 1 ] ) : array

implode — 将一个一维数组的值转化为字符串
implode ( string $glue , array $pieces ) : string

explode — 使用一个字符串分割另一个字符串
explode ( string $delimiter , string $string [, int $limit ] ) : array

chr — 返回指定的字符
chr ( int $ascii ) : string

ord — 转换字符串第一个字节为 0-255 之间的值
ord ( string $string ) : int

parse_str — 将字符串解析成多个变量
parse_str ( string $encoded_string [, array &$result ] ) : void

sprintf — 返回格式化字符串
sprintf ( string $format [, mixed $... ] ) : string

sscanf — 根据指定格式解析输入的字符
sscanf ( string $str , string $format [, mixed &$... ] ) : mixed

str_pad — 使用另一个字符串填充字符串为指定长度
str_pad($字段,10,'0');
str_pad($字段,10,'0' , STR_PAD_LEFT);

str_repeat — 重复一个字符串
str_repeat ( string $input , int $multiplier ) : string
回复

使用道具 举报

156

主题

303

帖子

1664

积分

新手上路

Rank: 1

积分
1664
 楼主| 发表于 2018-7-12 08:37:31 | 显示全部楼层
输出变量到字符串
ob_start();
var_dump($mixed);
$content = ob_get_contents();
ob_end_clean();

或者直接用:
$str = var_export($s, TRUE);
回复

使用道具 举报

156

主题

303

帖子

1664

积分

新手上路

Rank: 1

积分
1664
 楼主| 发表于 2018-7-25 11:33:07 | 显示全部楼层
获取按指定宽度截断的字符串
string mb_strimwidth ( string $str , int $start , int $width [, string $trimmarker = "" [, string $encoding = mb_internal_encoding() ]] )

回复

使用道具 举报

156

主题

303

帖子

1664

积分

新手上路

Rank: 1

积分
1664
 楼主| 发表于 2018-10-18 10:47:44 | 显示全部楼层
header("Access-Control-Allow-Origin: *");
header("Content-type:application/json;charset=utf-8");
header('Location:'.$url);
header('HTTP/1.1 404 Not Found');
回复

使用道具 举报

156

主题

303

帖子

1664

积分

新手上路

Rank: 1

积分
1664
 楼主| 发表于 2022-3-11 16:18:12 | 显示全部楼层
遍历文件
  1. <?php
  2. $path0 = __dir__ . '/hourwindo';
  3. $path1 = __dir__ . '/a';
  4. $files=scandir($path0);
  5. $i = 1;
  6. foreach($files as $filename){
  7.         $file= $path0 . '/' . $filename;
  8.         if (is_file($file)) {
  9.                 if ($filename=='.' || $filename=='..') {
  10.                         continue;
  11.                 }
  12.                 copy($file, $path1 . '/' . strval($i) . '.png');
  13.                 $i += 1;
  14.         }
  15. }
复制代码


回复

使用道具 举报

156

主题

303

帖子

1664

积分

新手上路

Rank: 1

积分
1664
 楼主| 发表于 2022-3-11 16:19:32 | 显示全部楼层
下载文件

  1. //小时降水
  2. $dirname = 'hourjonswe';
  3. $url_base = 'http://data.cma.cn/weatherGis/web/bmd/VisDataDef/getVisData?datacode=SURF_R1&d_datetime=';
  4. $data_start = '2021-01-01';


  5. $dirpath = __DIR__ . '/' . $dirname;

  6. $dirpath_ = $dirpath . '_';

  7. $ch = curl_init(); //初始化

  8. curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:98.0) Gecko/20100101 Firefox/98.0'); //"User-Agent:"的值
  9. curl_setopt($ch, CURLOPT_ENCODING, 'gzip, deflate, br'); //"Accept-Encoding:"的值
  10. //curl_setopt($ch, CURLOPT_REFERER, ''); //"Referer:"的值
  11. //HTTP 头字段的数组
  12. curl_setopt($ch, CURLOPT_HTTPHEADER,
  13.         array(
  14.                 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8',
  15.                 'Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2',
  16.                 'DNT: 1',
  17.                 'Upgrade-Insecure-Requests: 1',
  18.                 'Connection: keep-alive',
  19.                 'Upgrade-Insecure-Requests: 1',
  20.                 'Connection: keep-alive',
  21.                 'Sec-Fetch-Dest: document',
  22.                 'Sec-Fetch-Mode: navigate',
  23.                 'Sec-Fetch-Site: none',
  24.                 'Sec-Fetch-User: ?1',
  25.                 'Pragma: no-cache',
  26.                 'Cache-Control: no-cache',
  27.         )
  28. );

  29. //curl_setopt($ch, CURLOPT_NOBODY, 1); //不输出 BODY

  30. //curl_setopt($ch, CURLOPT_HTTPGET, 1); //强制 GET

  31. //curl_setopt($ch, CURLOPT_POST, 1); //发送 POST 请求

  32. //curl_setopt($ch, CURLOPT_PUT, 1); //发送文件
  33. //curl_setopt($ch, CURLOPT_INFILE, 1); //
  34. //curl_setopt($ch, CURLOPT_INFILESIZE , 1); //

  35. //curl_setopt($ch, CURLOPT_PORT, 80); //指定端口
  36. //curl_setopt($ch, CURLOPT_COOKIE, ''); //设定 Cookie,用分号分隔,分号后带一个空格(例如,"fruit=apple; colour=red")

  37. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //以字符串返回

  38. curl_setopt($ch, CURLOPT_HEADER, 0);

  39. $date = date_create($data_start);
  40. while (date_timestamp_get($date) < time()) {
  41.         echo date_format($date,'Y-m-d') . ': ';

  42.         $url = $url_base . date_format($date,'Ymd');

  43.         curl_setopt($ch, CURLOPT_URL, $url); //请求地址

  44.         //执行并获取HTML文档内容
  45.         $json = curl_exec($ch);
  46.         //echo $output;

  47.         $object = json_decode($json);
  48.         $arr = $object->data;
  49.         $i = 0;
  50.         foreach ($arr as $o) {
  51.                 //echo $o->fileURL,"\n";
  52.                
  53.                 $filepath = $dirpath.'/'. $o->v_SHIJIAN . '.png';
  54.                
  55.                 if (!file_exists($filepath)) {
  56.                         echo $i . ' ';
  57.                         curl_setopt($ch, CURLOPT_URL, $o->fileURL); //请求地址
  58.                         $img = curl_exec($ch);
  59.                         file_put_contents($filepath, $img);
  60.                         if (getimagesize($filepath) === false) {
  61.                                 $date = date_create();
  62.                         }
  63.                 }
  64.                 $i += 1;
  65.         }
  66.        
  67.         echo "\n";
  68.         date_add($date,date_interval_create_from_date_string('1 day'));
  69. }

  70. //释放curl句柄
  71. curl_close($ch);
复制代码




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|私人论坛

GMT+8, 2026-2-20 08:35 , Processed in 0.063624 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表