Skip to content

PHP笔记

PHP(PHP: Hypertext Preprocessor)即“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法学习了C语言,吸纳Java和Perl多个语言的特色发展出自己的特色语法,并根据它们的长项持续改进提升自己,例如java的面向对象编程,该语言当初创建的主要目标是让开发人员快速编写出优质的web网站。PHP同时支持面向对象和面向过程的开发,使用上非常灵活。

随机图API方法

读取txt文本

方法一

php
<?php
    $arr=file('img.txt'); //存有图片链接的文件名img.txt
    $n=count($arr)-1;
    for($i=1;$i<=1;$i++) {
        $x=rand(0,$n);
        header("Location:".$arr[$x],"\n");
    }
?>

方法二

php
<?php
$filename = "img.txt"; //存有图片链接的文件名img.txt
if(!file_exists($filename)){
    die('文件不存在');
}
$pics = [];
$fs = fopen($filename, "r");
while(!feof($fs)){
    $line=trim(fgets($fs));
    if($line!=''){
        array_push($pics, $line);
    }
}
$pic = $pics[array_rand($pics)];
$type=$_GET['type'];
switch($type){
case 'json':
    header('Content-type:text/json');
    die(json_encode(['pic'=>$pic]));
default:
    die(header("Location: $pic"));
}
?>

读取文件夹

方法一

php
<?php
$img_array = glob("imgs/*.{gif,jpg,JPG,jpeg,JPEG,png,PNG}",GLOB_BRACE); //存有图片的文件夹imgs
$img = array_rand($img_array);
header('Location:'.$img_array[$img]);
?>

方法二

php
<?php
$path = 'imgs/'; //存有图片的文件夹imgs
$handle = opendir($path);
while (false !== ($file = readdir($handle))) {
    list($filesname,$kzm)=explode(".",$file);
    if($kzm=="jpg" or $kzm=="JPG" or $kzm=="jpeg" or $kzm=="JPEG" or $kzm=="png" or $kzm=="PNG" or $kzm=="JPG") {
        if (!is_dir('./'.$file)) {
            $array[]=$file;
        }
    }
}
$str = array_rand($array);
header('Location:'.$path.$array[$str]);
?>

PHP的URL参数

php
// 必须带参数
$link = $_GET['type'];

// 可不带参数
@$link = $_GET['type'];

/* 分解
$_GET[''] 为get请求
$_POST[''] 为post请求
type 为参数key
*/