成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

[筆記](méi) php常見(jiàn)簡(jiǎn)單功能及函數(shù)

Salamander / 494人閱讀

摘要:獲取遠(yuǎn)程文件圖片等有三種方式使用函數(shù)獲取文件,在用函數(shù)把文件寫(xiě)到本地。

獲取遠(yuǎn)程文件(圖片等)

有三種方式

file_get_contents($url);
使用file_get_contents()函數(shù)獲取文件,在用file_put_contents()函數(shù)把文件寫(xiě)到本地。

使用curl

//獲取到文件
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,60);
$file=curl_exec($ch);
curl_close($ch);
//寫(xiě)入本地
$fp=fopen($save_dir.$filename,"a");
fwrite($fp,$file);
fclose($fp);

3 . 使用ob_start()

//獲取文件
ob_start();    //打開(kāi)緩沖區(qū)
readfile($url);
$file=ob_get_contents();
ob_end_clean();
//寫(xiě)入本地
$fp=fopen($save_dir.$filename,"a");
fwrite($fp,$file);
fclose($fp);

多個(gè)進(jìn)程寫(xiě)入同一個(gè)文件(加鎖)
$fp = fopen("lock.txt","w+");
if(flock($fp,LOCK_EX)){
    //獲得寫(xiě)鎖,寫(xiě)數(shù)據(jù)
    fwrite($fp,"write something");
    //解除鎖定
    flock($fp,LOCK_UN);
}else{
    echo "file is locking";
}
fclose($fp);

跳轉(zhuǎn)的方法
header("Location:http://www.baidu.com");        //立刻跳轉(zhuǎn)
header("refresh:3;url=http://www.baidu.com");    //三秒后跳轉(zhuǎn)
//php函數(shù)跳轉(zhuǎn)缺點(diǎn):執(zhí)行前不能有輸出

//meta跳轉(zhuǎn)
echo "";
創(chuàng)建多級(jí)目錄
function create_dir($path,$mode=0777){
    if(is_dir($path)){
        return true;
    }else{
        if(mkdir($path,$mode,true)){
            return true;
        }else{
            return false;
        }
    }
}

無(wú)限極分類(lèi)
function getCat($data,$pid=0,$level=0){
    static $res;
    foreach($data as $k=>$v){
        if($v["pid"]=$pid){
            $v["level"] = $level;
            $res[] = $v;
            getCat($data,$v["id"],$level+1);
        }
    }
    return $res;
}

取出url中的擴(kuò)展名
function getExt($url){
    $arr = parse_url($url);  //解析url,返回?cái)?shù)組
    $file = basename($arr["path"]);  //取文件名部分
    $ext = explode(".",$file);
    return $ext[count($ext)-1];
}
function getExt($url){
    $url = basename($url);
    $pos1 = strpos($url,".");
    $pos2 = strpos($url,"?");
    if(strstr($url,"?")){
        return substr($url,$pos1+1,$pos2-$pos1-1);
    }else{
        return substr($url,$pos1+1);
    }
}

讀取文件夾下的所有子目錄和子文件夾
function my_scandir($dir){
    $files = array();
    if(is_dir($dir)){
        if($handle = opendir($dir)){
            while(($file = readdir($handle)) != false){
                if($file!="." && $file!=".." ){
                    if(is_dir($dir."/".$file)){
                        $files[$file] = my_scandir($dir."/".$file);
                    }else{
                        $files[] = $dir."/".$file;
                    }
                }
            }
            closedir($handle);
            return $files;
        }else{
            return false;
        }
    }else{
        return false;
    }
}

待續(xù)……

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/23090.html

相關(guān)文章

  • php資料集

    摘要:簡(jiǎn)單字符串緩存實(shí)戰(zhàn)完整實(shí)戰(zhàn)種設(shè)計(jì)模式設(shè)計(jì)模式是面向?qū)ο蟮淖罴褜?shí)踐成為專(zhuān)業(yè)程序員路上用到的各種優(yōu)秀資料神器及框架成為一名專(zhuān)業(yè)程序員的道路上,需要堅(jiān)持練習(xí)學(xué)習(xí)與積累,技術(shù)方面既要有一定的廣度,更要有自己的深度。 微型新聞系統(tǒng)的開(kāi)發(fā)(PHP 5.4 + MySQL 5.5) 微型新聞系統(tǒng)的開(kāi)發(fā)(PHP 5.4 + MySQL 5.5) 九個(gè)很有用的 PHP 代碼 php 代碼 國(guó)內(nèi)值得關(guān)注的...

    RobinQu 評(píng)論0 收藏0
  • PHP小知識(shí)點(diǎn)

    摘要:那些瑣碎的知識(shí)點(diǎn)作者記錄的的很奇特很難記的知識(shí)點(diǎn)。易錯(cuò)知識(shí)點(diǎn)整理注意和的區(qū)別中和都是輸出的作用,但是兩者之間還是有細(xì)微的差別。今天手頭不忙,總結(jié)一下,分享過(guò)程中掌握的知識(shí)點(diǎn)。 深入理解 PHP 之:Nginx 與 FPM 的工作機(jī)制 這篇文章從 Nginx 與 FPM 的工作機(jī)制出發(fā),探討配置背后的原理,讓我們真正理解 Nginx 與 PHP 是如何協(xié)同工作的。 PHP 那些瑣碎的知識(shí)...

    hover_lew 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<