FTP操作クラス(ファイル作成ディレクトリのコピー、移動、削除) class class_ftp{ public $off; 操作ステータスを返す(成功失敗) public $conn
- /**
- * 機能:FTP操作(ファイルのコピー、移動、削除/ディレクトリの作成)
- * QQコミュニケーショングループ:136112330
- */
- class class_ftp
- {
- public $off; // 操作ステータス (成功/失敗) を返す
- public $conn_id; // FTP 接続
- /**
- * メソッド: FTP 接続
- * @FTP_HOST -- FTP ホスト
- * @FTP_PORT -- ポート
- * @FTP_USER -- ユーザー名
- * @FTP_PASS -- パスワード
- */
- function __construct($FTP_HOST,$FTP_PORT,$FTP_USER,$FTP_PASS) )
- {
- $this->conn_id = @ftp_connect($FTP_HOST,$FTP_PORT) または die("FTP サーバー接続に失敗しました");
- @ftp_login($this->conn_id,$FTP_USER,$FTP_PASS) または die ("FTP サーバーのログインに失敗しました");
- @ftp_pasv($this->conn_id,1); // パッシブ シミュレーションをオンにする
- }
- /**
- * メソッド: ファイルをアップロードします
- * @path -- ローカルパス
- * @newpath -- アップロードパス
- * @type -- ディレクトリが存在しない場合は新しいディレクトリを作成します
- */
- function up_file($path,$newpath, $ type=true)
- {
- if($type) $this->dir_mkdirs($newpath);
- $this->off = @ftp_put($this->conn_id,$newpath,$path,FTP_BINARY) ;
- if(!$this->off) echo "ファイルのアップロードに失敗しました。権限とパスが正しいか確認してください!"; ,$type =true)
- {
- if($type) $this->dir_mkdirs($newpath)
- $this->off = @ftp_rename($this->conn_id,$path,$newpath);
- if( !$this->off) echo "ファイルの移動に失敗しました。アクセス許可と元のパスが正しいかどうかを確認してください。 ";
- }
- /**
- * メソッド: ファイルを移動します
- * @path -- 元のパス
- * @newpath -- 新しいパス
- * @type -- ディレクトリが存在しない場合は新しいディレクトリを作成します
- */
- function copy_file($path,$newpath,$type=true)
- {
- $downpath = "c:/tmp.dat";
- $this->off = @ftp_get($this->conn_id,$downpath,$path,FTP_BINARY);// ダウンロード
- if(!$this->off) echo "ファイルのコピーに失敗しました。権限と元のパスが正しいかどうかを確認してください! ";
- $this->up_file($downpath,$newpath,$type);
- }
- /**
- * メソッド: ファイルをコピーします
- * 注: FTP にはコピー コマンドがないため、このメソッドの代替操作は次のとおりです: ダウンロードしてから新しいパスにアップロードします
- * @path -- 元のパス
- * @newpath -- 新しいpath
- * @type -- ターゲットディレクトリが存在しない場合は作成します
- */
- function del_file($path)
- {
- $this->off = @ftp_delete ($this->conn_id,$path);
- if(!$this->off) echo "ファイルの削除に失敗しました。権限とパスが正しいかどうかを確認してください。 ";
- }
- /**
- * メソッド: ファイルを削除します
- * @path -- パス
- */
- function dir_mkdirs($path)
- {
- $path_arr =explode('/',$path); // ディレクトリ配列を取得
- $file_name = array_pop($path_arr) ; // ファイル名をポップアップします
- $path_div = count($path_arr) // レイヤー数を取得します
- foreach($path_arr as $val) // ディレクトリを作成します
- {
- if(@ftp_chdir($this- >conn_id,$ val) == FALSE)
- {
- $tmp = @ftp_mkdir($this->conn_id,$val);
- if($tmp == FALSE)
- {
- echo "ディレクトリの作成に失敗しました。権限とパスが正しいことを確認してください。";
- exit;
- }
- @ftp_chdir($this->conn_id,$val);
- }
- }
- for($i=1;$i=$path_div;$i++) // ルートにロールバックします
- {
- @ftp_cdup($this->conn_id);
- }
- }
- /**
- *方法: FTP接続を閉じる
- */
- 関数 close()
- {
- @ftp_close($this->conn_id);
- }
- }/ / class class_ftp end
- /************************************** テスト************* **********************
- $ftp = new class_ftp('192.168.100.143',21,'user','pwd'); // FTP を開く接続
- //$ftp->up_file('aa.txt','a/b/c/cc.txt'); // ファイルをアップロード
- //$ftp->move_file('a/b/c) /cc.txt','a/cc.txt'); // ファイルを移動
- //$ftp->copy_file('a/cc.txt','a/b/dd.txt');ファイルをコピー
- //$ftp->del_file('a/b/dd.txt') // ファイルを削除
- $ftp->close(); // FTP 接続を閉じる
- ******* ************************************************* * **********************/
- ?>
コードをコピーします
CURL の詳細な説明 curl_close — Curl セッションを閉じる curl_copy_handle — Curl 接続リソースのすべてのコンテンツとパラメーターをコピーする curl_errno — 現在のセッションのエラー情報を含む数値を返す curl_error — 現在のセッションのエラー情報を含む文字列を返す curl_exec —curl セッションを実行します curl_getinfo —curl 接続リソース ハンドルに関する情報を取得します curl_init —curl セッションを初期化します
curl_multi_add_handle — Curl バッチ セッションに別の Curl ハンドル リソースを追加します curl_multi_close — バッチ ハンドル リソースを閉じる curl_multi_exec — Curl バッチ ハンドルを解析します curl_multi_getcontent — フェッチされた出力のテキスト ストリームを返します curl_multi_info_read — 現在解析されている Curl 関連を取得します送信情報 curl_multi_init —curl バッチ ハンドル リソースを初期化します curl_multi_remove_handle —curl バッチ ハンドル リソース内のハンドル リソースを削除します curl_multi_select — cURL 拡張子に関連付けられたすべてのソケットを取得し、「選択」可能になります curl_setopt_array — セッション パラメーターを設定します配列形式のカールの場合 curl_setopt —curl のセッションパラメータを設定します curl_version —curl 関連のバージョン情報を取得します curl_init() 関数の役割は、curl セッションを初期化することです。curl_init() 関数は独特です。 1 つのパラメータはオプションで、URL アドレスを表します。 curl_exec() 関数は、curl セッションを実行するために使用されます。唯一のパラメーターは、curl_init() 関数によって返されるハンドルです。 curl_close() 関数は、curl セッションを閉じるために使用されます。唯一のパラメータは、curl_init() 関数によって返されるハンドルです。
$url = 'http://www.@@@@@.com/';
- //curl を初期化します
- $curl =curl_init($url);タイムアウト 30 秒
- curl_setopt($curl, CURLOPT_TIMEOUT, '30');
- //ユーザー エージェント ヘッダー
- curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:14.0) Gecko/20120722 Firefox/14.0.1");
- //ファイル ストリームに戻る
- curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
- //ヘッダー ファイル データ ストリーム出力を開く
- curl_setopt($curl, CURLOPT_HEADER, 1);
- $string = curl_exec ($curl);
- var_dump($string);
- preg_match_all('/Set-Cookie:stest=(.*)/i', $string, $results);
-
-
- コードをコピー
-
PHP、FTP |