PHP の ftp 処理


  指定ディレクトリ以下の全てのファイル



タイムアウトに注意して下さい

  
<?

$ftp_server="jf.land.to"; 
$ftp_user="r205"; 
$ftp_pass="********"; 
$base_dir = "/public_html/sb/lightbox";

$conn = ftp_connect($ftp_server);
if (!$conn) {
	die('接続できません');
}

$result = @ftp_login($conn, $ftp_user, $ftp_pass); 
if (!$result) {
	die('ログインできません');
}

// パッシブモードをオン
ftp_pasv($conn, TRUE);

// 詳細リスト取得
$list = ftp_rawlist( $conn, $base_dir );
// 一覧用配列
$dir = array();
$file = array();

// 詳細リストの数
$max = count($list);
for( $i = 0; $i < $max; $i++ ) {
	// ディレクトリの場合
	if ( substr( $list[$i], 0, 1 ) == 'd' ) {
		// 配列作成
		$data = explode( " ", $list[$i] );
		// 一番最後が名前
		$target = array_pop( $data );
		if ( $target != '.' && $target != '..' ) {
			$dir[] = $base_dir . '/' . $target;
		}
	}
	// ファイルの場合
	else {
		// 配列作成
		$data = explode( " ", $list[$i] );
		// 一番最後が名前
		$target = array_pop( $data );
		$file[] = $base_dir . '/' . $target;
	}
}

for( $pos = 0; $pos < count($dir); $pos++ ) {
	$base_dir = $dir[$pos];
	$list = ftp_rawlist( $conn, $base_dir );

	$max = count($list);
	for( $i = 0; $i < $max; $i++ ) {
		// ディレクトリの場合
		if ( substr( $list[$i], 0, 1 ) == 'd' ) {
			// 配列作成
			$data = explode( " ", $list[$i] );
			// 一番最後が名前
			$target = array_pop( $data );
			if ( $target != '.' && $target != '..' ) {
				$dir[] = $base_dir . '/' . $target;
			}
		}
		// ファイルの場合
		else {
			// 配列作成
			$data = explode( " ", $list[$i] );
			// 一番最後が名前
			$target = array_pop( $data );
			$file[] = $base_dir . '/' . $target;
		}
	}
}


ftp_close($conn);

var_dump($dir);
var_dump($file);

?>
  










  infoboard   管理者用   
このエントリーをはてなブックマークに追加





フリーフォントWEBサービス
SQLの窓WEBサービス

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ