PHP常用的API

php中这些都非常的常用。

1. 分割字符串 explode (返回的是数组)

$str = '李狗子|15|abc.jpg';
$result = explode('|',$str);// 注意书写顺序
print_r($result);

例如:

 Array(
   [0] => 李狗子
   [1] => 15
   [2] => abc.jpg
)

2. 将数组中的数据连接成字符串 implode 在 js中是join

    $arr = [100,200,'abc','男','abc.jpg'];
$str = implode($arr,'|'); // 注意书写顺序
echo "$str"; // 100|200|abc|男|abc.jpg

3. time() 从1970-1-1 0:00:00 到现在的秒数

echo time(); // 1530534605

4. php 中的随机数 rand() 在 js中的随机数是Math.random()

$num = rand(1,10);
echo "$num";  // 1~10

5. 判断数组中是否有某个值 in_array 存在则返回true,不存在则返回false

 $arr = array('a','b','c','d',123,456,'李狗子');
 var_dump(in_array('ddd',$arr));

6. strrch() 从指定的字符串中按某个符号,截取字符串

$name = 'abcde.jpg';
$ext = strrchr($name,'.');
echo $ext; // .jpg

举个例子:

图片上传:


图片上传.png

首先:在php文件里写上

  

返回的是一个数组。

Array
(
    [photo] => Array
        (
            [name] => 0001.jpg    图片的名称  jpg/jpeg/gif/png
            [type] => image/jpeg  图片的类型
            [tmp_name] => C:\Windows\php1D18.tmp   临时路径
            [error] => 0   错误标识
            [size] => 6000  图片大小
        )

扩展:

/**
     * 1. php中的文件上传有一个特点, 会将上传过来的图片存在一个临时的路径里面
     * 2. 如果没有后续操作,程序结束后会删除这个临时文件
     * 3. 所以要想永久的保存上传过来的文件,需要将文件从临时路径移动到指定的目录里面
     * 4. 要想将上传过来的所有的图片都保存在文件夹里面,还得保证文件名称不能重复
     * 5. 比较好的解决办法,就是给上传过来的每一个图片重新生成一个随机的数字名称
     */

如果上传一张图片倒没什么问题,但是,上传下一张图片,相同名字的不同图片时,就会覆盖之前的。

//  测试一张 可以上传了 (同名会覆盖)
$tmp_name = $_FILES['photo']['tmp_name'];
$picName  = $_FILES['photo']['name'];
move_uploaded_file($tmp_name, './upload/'.$picName);

处理同名覆盖的问题(这里使用到了上面常用的API)

if (!empty($_FILES)) {
        // 1. 获取上传过来的文件的后缀 
        $picName = $_FILES['photo']['name'];
        $ext = strrchr($picName, '.');
        // echo "$ext"; // 结果是 .XXX
        // 2. 生成随机的图片名称 
        $name = time().rand(1000,9999).$ext; // 1235489486546.jpg
        // 3. 移动到指定的路径里面
        $tmp_name = $_FILES['photo']['tmp_name'];// 获取文件存储的临时路径
        move_uploaded_file($tmp_name,'./upload/'.$name);
        // 4. 生成一个图片的标准路径 (显示在界面)
        $pathName = './upload/'.$name;
}

你可能感兴趣的:(PHP常用的API)