国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

一個獲取遠端文件的函數(Linux和Windows均適用)

2024-08-28 00:23:35
字體:
來源:轉載
供稿:網友
為了獲取遠端文件,編寫了下面的一個小函數,基本各方面都考慮了,大家看看吧:
function getpic($url,$dir,$name){
    //獲取url文件,然后存放到dir目錄中,以name為文件名。
    //如果缺省文件名,則保留原文件名。
    $tmp=split("/",$url);
    $fname=$tmp[count($tmp)-1];//獲取文件名
    if(empty($name)) {
        $name=$fname;//設定好文件名
    }else{//判斷是否更改了文件的擴展名,如果更改的話,則改為文件本身的擴展名。
        $tmp1=split("/.",$fname);
        $tmp2=split("/.",$name);
        if(strcmp($tmp1[1],$tmp2[1])!=0) $name=$tmp2[0].".".$tmp1[1];
    }
    if(strstr($dir,"//")){//說明是windows環境下的目錄
        if(substr($dir,-2)=="//") $file=$dir.$name;else $file=$dir."//".$name;
    }else{        
        if(substr($dir,"/")){//說明是linux環境下的目錄
            if(substr($dir,-1)=="/") $file=$dir.$name;else $file=$dir."/".$fname;
        }
        else{ //給了一個非法的目錄,函數退出
            echo "error directory!";
            return ;
        }
    }
    if(!(file_exists("$dir") && is_dir("$dir"))) {//如果目錄不存在,則創建目錄
        mkdir($dir,0777);
    }
    if(file_exists($file)) return;//如果文件存在,則放棄操作
    $fpo=fopen($file,"wb");
    if(!$fpo){
        echo "sorry,create file:$file failure!check your right!";
        return ;
    }
    $num=0;
    do{
        $num++;
        $fpi=fopen($url,"r");
        if(!$fpi) echo "open remote file falure...retry!/r/n";
    }while(!$fpi && $num<3); //文件最多嘗試打開三次,超過則退出。
    if(!fpi){
        echo "the network is buzy or bad url!";
        return ;
    }else echo "open file ok!now transfer....";
    while(!feof($fpi)){
        $cont=fread($fpi,128);
        fwrite($fpo,$cont,128);
    }
    fclose($fpi);
    fclose($fpo);
    echo "success!";
}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 淅川县| 三门峡市| 北京市| 蒙阴县| 新兴县| 剑川县| 黎城县| 望城县| 高阳县| 阳曲县| 九龙县| 河西区| 凤翔县| 剑阁县| 凌云县| 汝阳县| 绍兴县| 德令哈市| 女性| 沾益县| 南陵县| 宜川县| 潮安县| 阿克陶县| 银川市| 迭部县| 长葛市| 铁岭县| 韶关市| 渝北区| 青铜峡市| 南投市| 思南县| 丹江口市| 孟津县| 乌鲁木齐市| 鄂托克旗| 枣阳市| 隆化县| 额尔古纳市| 新安县|