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

首頁 > 語言 > PHP > 正文

php使用ftp遠程上傳文件類(完美解決主從文件同步問題的方法)

2024-05-04 23:50:05
字體:
來源:轉載
供稿:網友

php使用ftp實現文件上傳代碼片段:

<?php   /**   * ftp上傳文件類   */   class Ftp {     /**     * 測試服務器     *      * @var array     */     private $testServer = array(       'host' => 'ip',       'port' => 21,       'user' => 'userName',       'pwd' => 'password'     );     /**     * 打開并登錄服務器     *      * @param string $flag 服務器標識test     * @return mixed      *       0:服務器連接失敗     *       1:服務器登錄失敗     *       resource 連接標識     */     public function openServer($flag = 'test'){       //選擇服務器       $config = $this->getServerConfig($flag);       //連接服務器       $connect = ftp_connect($config['host'], $config['port']);       if($connect == false) return 0;       //登錄服務器       if(!ftp_login($connect, $config['user'], $config['pwd'])) return 1;       //打開被動模式,數據的傳送由客戶機啟動,而不是由服務器開始       ftp_pasv($connect, true);       //返回連接標識       return $connect;     }     /**     * 創建目錄并將目錄定位到當請目錄     *      * @param resource $connect 連接標識     * @param string $dirPath 目錄路徑     * @return mixed      *       2:創建目錄失敗     *       true:創建目錄成功     */     public function makeDir($connect, $dirPath){       //處理目錄       $dirPath = '/' . trim($dirPath, '/');       $dirPath = explode('/', $dirPath);       foreach ($dirPath as $dir){         if($dir == '') $dir = '/';         //判斷目錄是否存在         if(@ftp_chdir($connect, $dir) == false){           //判斷目錄是否創建成功           if(@ftp_mkDir($connect, $dir) == false){             return 2;           }           @ftp_chdir($connect, $dir);         }       }       return true;     }     /**     * 關閉服務器     *      * @param resource $connect 連接標識     */     public function closeServer($connect){       if(!empty($connect)) ftp_close($connect);     }     /**     * 上傳文件     *      * @param string $flag 服務器標識     * @param string $local 上傳文件的本地路徑     * @param string $remote 上傳文件的遠程路徑     * @return int      *       0:服務器連接失敗      *       1:服務器登錄失敗     *       2:創建目錄失敗     *       3:上傳文件失敗     *       4:上傳成功     */     public function upload($flag = 'test', $local, $remote){       //連接并登錄服務器       $connect = $this->openServer($flag);       if(($connect === 0) || ($connect === 1)) return $connect;       //上傳文件目錄處理       $mdr = $this->makeDir($connect, dirname($remote));       if($mdr === 2) return 2;       //上傳文件       $result = ftp_put($connect, basename($remote), $local, FTP_BINARY);       //關閉服務器       $this->closeServer($connect);       //返回結果       return (!$result) ? 3 : 4;     }     /**     * 刪除文件     *      * @param string $flag 服務器標識     * @param string $remote 文件的遠程路徑     * @return int      *       0:服務器連接失敗      *       1:服務器登錄失敗     *       2:刪除失敗     *       3:刪除成功     */     public function delete($flag = 'test', $remote){       //連接并登錄服務器       $connect = $this->openServer($flag);       if(($connect === 0) || ($connect === 1)) return $connect;       //刪除       $result = ftp_delete($connect, $remote);       //關閉服務器       $this->closeServer($connect);       //返回結果       return (!$result) ? 2 : 3;     }     /**     * 讀取文件     *      * @param string $flag 服務器標識     * @param string $remote 文件的遠程路徑     * @return mixed      *       0:服務器連接失敗      *       1:服務器登錄失敗     */     public function read($flag, $remote){       //連接并登錄服務器       $connect = $this->openServer($flag);       if(($connect === 0) || ($connect === 1)) return $connect;       //讀取       $result = ftp_nlist($connect, $remote);       //關閉服務器       $this->closeServer($connect);       //返回結果       foreach ($result as $key => $value){         if(in_array($value, array('.', '..'))) unset($result[$key]);       }       return array_values($result);     }     /**     * 獲取ftp服務器配置     *      * @param string $flag 服務器標識test     * @return array ftp服務器連接配置     */     private function getServerConfig($flag = 'test'){       $flag = strtolower($flag);       //測試服務器       if($flag == 'test') return $this->testServer;       //默認返回測試服務器       return $this->testServer;     }   }  ?>

以上就是小編為大家帶來的php使用ftp遠程上傳文件類(完美解決主從文件同步問題的方法)的全部內容了,希望對大家有所幫助,多多支持VeVb武林網~


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 威信县| 洪雅县| 南宫市| 建昌县| 阿图什市| 巫溪县| 黄浦区| 武山县| 大邑县| 文昌市| 延安市| 象山县| 吴忠市| 房产| 成安县| 滕州市| 昂仁县| 阿合奇县| 武宣县| 依兰县| 长阳| 通海县| 开江县| 定日县| 元江| 石城县| 林芝县| 丰都县| 镇宁| 连山| 大邑县| 阜阳市| 黄浦区| 临西县| 贵州省| 出国| 稻城县| 玉门市| 碌曲县| 高台县| 安康市|