zoukankan      html  css  js  c++  java
  • 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');


    //批量生成cookie
    function 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/>';
    }
    }

  • 相关阅读:
    webpack实现开发、测试、生产等环境的打包切换
    Python报错
    WGAN将数值限制在一定范围内 Python代码 tf.clip_by_value(p, -0.01, 0.01))
    cmd 进入指定文件夹
    Wasserstein 距离
    MSE(均方误差)、RMSE (均方根误差)、MAE (平均绝对误差)
    inf
    plt画log图
    KL散度与JS散度
    安装指定版本的第三方包
  • 原文地址:https://www.cnblogs.com/hssbsw/p/3411339.html
Copyright © 2011-2022 走看看