0

0

PHP 小代码

php中文网

php中文网

发布时间:2016-06-23 14:37:46

|

1169人浏览过

|

来源于php中文网

原创

//获取网上的一个文件function getUrlImage($url, $file = '', $maxExe = 0, $safe = false){    $urlExt = explode('.', $url);    $fileExt = array('txt','jpg','gif','png');    if(!in_array(end($urlExt), $fileExt, true)) return false;    $file = ($file)? $file.$urlExt : basename($url);    $file = rand(1,1000).$file;    ob_start(); //开启输出缓冲    set_time_limit($maxExe); //开启最大运行时间    readfile($url);//读入一个文件并写入到输出缓冲    $data = ob_get_contents();    ob_end_clean();    file_put_contents($file,$data);    if($safe && is_executable($file)){//为安全起见,判定一下文件是否可执行        unlink($file);        return false;    }    return $file;}getUrlImage('http://www.test.com/3675.jpg','newName');//批量生成cookiefunction mySetCookie($data, $name){    if(empty($data) || empty($name))return;    $args = func_get_args();    $time = empty($args[2])? time() + 3600 : time() + $args[2];    $path = empty($args[3])? '' : $args[3];    $domain = empty($args[4])? '' :  $args[4];    $secure = empty($args[5])? '' : $args[5];    if(is_array($data)){        foreach($data as $key => $val){            $full = "{$name}[$key]";            setcookie($full, $val, $time, $path, $domain, $secure);        }    }else{        setcookie($name, $data, $time, $path, $domain, $secure);    }}$data = array('name' => '李四', 'age' => 15);mySetCookie($data,'userInfo');print_r($_COOKIE);//冒泡排序function arrSort(&$arr, $asc = ''){    $times = count($arr) - 1;    for($i = 0; $i < $times; $i++){        for($j = 0; $j < $times - $i; $j++){            if($arr[$j] > $arr[$j + 1]){                $temp = $arr[$j];                $arr[$j] = $arr[$j + 1];                $arr[$j + 1] = $temp;            }        }    }    if('' != $asc) $arr = array_reverse($arr, false);//反转数组元素}//选择排序function seleSort(&$arr){    $times = count($arr) - 1;    $jMax = count($arr);    for($i = 0; $i < $times; $i++){        $min = $arr[$i];        $minId = $i;         for($j = $i + 1; $j < $jMax; $j++){            if($min > $arr[$j]){                $min = $arr[$j];                $minId = $j;            }        }        $temp = $arr[$i];        $arr[$i] = $arr[$minId];        $arr[$minId] = $temp;    }}//插入排序function inserSort(&$arr){    $times = count($arr);    for($i = 1; $i < $times; $i++){        $insert = $arr[$i];        $insertId = $i - 1;        while($insertId >= 0 && $insert < $arr[$insertId]){            $arr[$insertId + 1] = $arr[$insertId];            $insertId--;        }        $arr[$insertId + 1] = $insert;    }}//计算两个文件的相对路径。function relative_dir($fileA, $fileB){//A相当于B,所在目录    $aPath = explode('/',dirname($fileA));    $bPath = explode('/',dirname($fileB));    $bLen = count($bPath);    $j = 1;    for($i = 1; $i < $bLen; $i++){        if(isset($bPath) && isset($aPath)){            if($aPath[$i] == $bPath[$i]){$j++;}//累计相同路径部分            if($aPath[$i] != $bPath[$i]){$path .= '../';}//不同的,则增加退回上级        }    }    $path .= implode('/',array_slice($aPath, $j)).'/'.basename($fileA);    return $path;}$a = 'a/b/c/test/5/8/aaa.php';$b = 'a/b/c/check/1/2/3/4/bbb.php';echo relative_dir($a,$b);//以附件方式实现文件下载:$file = 'e:/个人简历.doc';$file = iconv('utf-8', 'gb2312',$file);if(file_exists($file)){    $fname = basename($file);    $fsize = filesize($file);    header("Content-type:application/octet-stream");//二进制数据    header("Content-Disposition:attachment;filename={$fname}");//附件形式    header("Accept-ranges:bytes");    header("Accept-length:".$fsize);    readfile($file);}else{    exit('flie not found!');}遍历一个目录,及其子目录:function recurDir($pathName){    $result = array();    $temp = array();    if(!is_dir($pathName) || !is_readable($pathName)) return null;    $allFiles = scandir($pathName);    foreach($allFiles as $fileName){        if(in_array($fileName, array('.','..')))continue;        $fullName = $pathName . '/' . $fileName;        if(is_dir($fullName)){            $result[$fileName] = recurdir($fullName);        }else{            $temp[] = $fileName;        }    }    foreach($temp as $f){        $result[] = $f;    }    return $result;}$pathName = 'D:AppServwwwzbseoag\';print_r(recurDir($pathName));//从URL中获取文件扩展名: function getExt($url){   $arr = parse_url($url);//把URL解析成数组   $file = basename($arr['path']);   $ext = explode('.',$file);   return end($ext);}//PHP验证email格式function checkEmail($email){    $pattern = "/([a-z0-9]*[-_/.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[/.][a-z]{2,3}([/.][a-z]{2})?/i";    return preg_match($pattern,$email); }//文件上传<script>function addUpload(){    document.getElementById("upfiles").innerHTML += '<li>文件:<input type="file" name="files[]" /></li>';}function resetUpload(){   document.getElementById("upfiles").innerHTML = '<li>文件:<input type="file" name="files[]" /></li>';}</script><form action="" method="post" enctype="multipart/form-data" ><ul id="upfiles"><li>文件:<input type="file" name="files[]" /></li></ul><input type="submit" value="提交" /><input type="button" value="增加上传框" onClick="addUpload()" /><input type="button" value="重设上传框" onClick="resetUpload()" /></form>$files = 'files';//files是$_FILES中的一个元素数组,并所上传文件信息进行了归类$upDir = './upImg/';$fTypes = 'jpg|gif|txt|chm';function upFilse($files, $upDir, $fTypes){    if(isset($_FILES[$files]['name'])){        if(!is_dir($upDir)) mkdir($upDir, 0777, true) or exit('上传目录创建失败!');        $ftypeArr = explode('|',$fTypes);        foreach($_FILES[$files]['name'] as $i => $value){            $fType = strtolower(end(explode(".",$_FILES[$files]['name'][$i])));            if(in_array($fType, $ftypeArr)){                $path = $upDir.time().$_FILES[$files]['name'][$i];//指定目录,且包含有文件名                move_uploaded_file($_FILES[$files]['tmp_name'][$i], $path);//移到指定目录                if($_FILES[$files]['error'][$i] == 0){                    $file[$_FILES[$files]['name'][$i]] = $path;                     list($name, $path) = each($file);//each(数组)返回当前由键名与键值所构成的数组;list(变量1, 变量n 【或数组】) = 数字索引的数组,将值赋给变量。                    $sql = "INSERT INTO `database`.`table`(name, path) VALUES ('$name', '$path')";                    $msg[] =  $value.'文件上传成功';                    }else                    $msg[] = $value.'文件上传失败!';            }else                 $msg[] = $value.'文件格式不正确!';        }        return $msg;    }}print_r(upFilse($files, $upDir, $fTypes));//求今天是星期几:$time = getdate();//获取当前时间戳中的时间信息$weekday = array('星期天', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六');$wday = $time['wday'];//当前是一个星期中的第几天echo date("今天是:Y年m月d日H:i:s $weekday[$wday]");//求下周一是几月几日:$time = time();//当前时间戳$weekday = date('w');//当天的数字星期switch($weekday){    case 0: $nextMonday = $time+86400;break;//星期天则加一天    case 1: $nextMonday = $time+7*86400;break;//星期一,则加七天    case 2: $nextMonday = $time+6*86400;break;    case 3: $nextMonday = $time+5*86400;break;    case 4: $nextMonday = $time+4*86400;break;    case 5: $nextMonday = $time+3*86400;break;    case 6: $nextMonday = $time+2*86400;break;}echo date('Y-m-d',$nextMonday);//逐行读取文件指定行数的内容:function getRowData($file, $row = 0, mark = false){    $fhandle = fopen($file,'rb');    $row = ($row == 0)? filesize($file) : $row;    while($row >0 && !feof($fhandle)){       $data[] = (mark)? fgets($fhandle) : fgetss($fhandle);       $row--;    }    fclose($fhandle);}//读取文件指定字符长度function getLetterData($file, $num = 0, mark = false){    $fhandle = fopen($file,'rb');    $row = ($num)? filesize($file) : $num;    $data = fread($fhandle, $num);    fclose($fhandle);}//删除目录中在数据库中没有记录的图片public function delImg($data, $dir = '.'){    $files = scandir($dir);    $delFiles = array_diff($allFiles,$data);    foreach($delFiles as $name){        $file = rtrim($dir,'/').'/'.$name;        unlink($file);        echo $file.'<br/>';    }}

 

代码小浣熊
代码小浣熊

代码小浣熊是基于商汤大语言模型的软件智能研发助手,覆盖软件需求分析、架构设计、代码编写、软件测试等环节

下载

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法

本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。

1142

2026.02.13

微博网页版主页入口与登录指南_官方网页端快速访问方法
微博网页版主页入口与登录指南_官方网页端快速访问方法

本专题系统整理微博网页版官方入口及网页端登录方式,涵盖首页直达地址、账号登录流程与常见访问问题说明,帮助用户快速找到微博官网主页,实现便捷、安全的网页端登录与内容浏览体验。

371

2026.02.13

Flutter跨平台开发与状态管理实战
Flutter跨平台开发与状态管理实战

本专题围绕Flutter框架展开,系统讲解跨平台UI构建原理与状态管理方案。内容涵盖Widget生命周期、路由管理、Provider与Bloc状态管理模式、网络请求封装及性能优化技巧。通过实战项目演示,帮助开发者构建流畅、可维护的跨平台移动应用。

245

2026.02.13

TypeScript工程化开发与Vite构建优化实践
TypeScript工程化开发与Vite构建优化实践

本专题面向前端开发者,深入讲解 TypeScript 类型系统与大型项目结构设计方法,并结合 Vite 构建工具优化前端工程化流程。内容包括模块化设计、类型声明管理、代码分割、热更新原理以及构建性能调优。通过完整项目示例,帮助开发者提升代码可维护性与开发效率。

37

2026.02.13

Redis高可用架构与分布式缓存实战
Redis高可用架构与分布式缓存实战

本专题围绕 Redis 在高并发系统中的应用展开,系统讲解主从复制、哨兵机制、Cluster 集群模式及数据分片原理。内容涵盖缓存穿透与雪崩解决方案、分布式锁实现、热点数据优化及持久化策略。通过真实业务场景演示,帮助开发者构建高可用、可扩展的分布式缓存系统。

114

2026.02.13

c语言 数据类型
c语言 数据类型

本专题整合了c语言数据类型相关内容,阅读专题下面的文章了解更多详细内容。

77

2026.02.12

雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法
雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法

本专题系统整理雨课堂网页版官方入口及在线登录方式,涵盖账号登录流程、官方直连入口及平台访问方法说明,帮助师生用户快速进入雨课堂在线教学平台,实现便捷、高效的课程学习与教学管理体验。

17

2026.02.12

豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法
豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法

本专题汇总豆包AI官方网页版入口及在线使用方式,涵盖智能写作工具、图片生成体验入口和官网登录方法,帮助用户快速直达豆包AI平台,高效完成文本创作与AI生图任务,实现便捷智能创作体验。

863

2026.02.12

PostgreSQL性能优化与索引调优实战
PostgreSQL性能优化与索引调优实战

本专题面向后端开发与数据库工程师,深入讲解 PostgreSQL 查询优化原理与索引机制。内容包括执行计划分析、常见索引类型对比、慢查询优化策略、事务隔离级别以及高并发场景下的性能调优技巧。通过实战案例解析,帮助开发者提升数据库响应速度与系统稳定性。

123

2026.02.12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Git 教程
Git 教程

共21课时 | 3.8万人学习

Kotlin 教程
Kotlin 教程

共23课时 | 3.9万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号