/* $Id: ftp.php,v 2.2 2002/03/12 23:21:28 pauls Exp $ */
/* このソフトウェアは http: //inebria.com/ */
/* Copyright (c) 2000
Paul Southworth。 すべての権利は留保されています。
ソースおよびバイナリ形式での再配布と使用は、
変更の有無にかかわらず、次の条件
が満たされている場合に許可されます。
1.ソース コードの再配布は、上記の著作権
通知、この条件リスト、および次の免責事項を保持する必要があります。
2.バイナリ形式で再配布する場合は、上記の著作権
通知、この条件リスト、および
ドキュメントおよび/または配布物に付属のその他の資料内の次の免責事項を複製する必要があります。
3.事前に特別な書面による許可を得ることなく、このソフトウェアから派生した
製品を推奨または宣伝するために作者の名前を使用することはできません
このソフトウェアは作者によって「現状のまま」提供されており、商品性および特定目的への適合性の黙示的
保証を含むがこれに限定されない、いかなる明示的
または黙示的な保証
も否認されます。 いかなる場合においても、著者は、いかなる
直接的、間接的、偶発的、特別、例示的、または結果的
損害(代替
商品またはサービスの調達、使用の損失を含むがこれらに限定されない)に対して責任を負わないものとします。 、データ、利益、またはビジネス
中断)の原因を問わず、契約、厳格責任、または不法行為(過失
またはその他を含む)にかかわらず、
このソフトウェアの使用は、
そのような損害の可能性について知らされていた場合でも同様です。 */
/* 構成オプション */
$phpftp_host="localhost";
$phpftp_version="2.2";
/* 以下の場合は、これをコメントアウトしてください。バージョン フッターは不要です */
$show_version_footer=1;
/* どのくらいの大きさのファイルでも受け入れられますか?
php.ini ファイルを編集して、upload_max_filesize を適切に変更する必要がある場合もあります */
$max_file_size="1000000";
/* 一時ディレクトリ $phpftp_tmpdir が存在し、 Web サーバーによって書き込み可能
ヒント: mkdir /var/tmp/xfers && chmod 1777 /var/tmp/xfers */
$phpftp_tmpdir="/var/tmp/xfers";
/* $use_mime_lookup
これをオンにすると、
http://www.inebria.com/mime_lookup/ MIME タイプ ルックアップ ライブラリへの依存関係が作成されます。
この変数を「1」に設定すると、 " により有効になります。 「0」は無効になります。
オンにする場合は、mime_lookup.php ファイルを ftp.php と同じディレクトリ
に配置し、「include("mime_lookup.php");」のコメントを解除します。声明。 */
$use_mime_lookup="0";
/* include("mime_lookup.php"); */
/* 場合によっては
送信されない可能性があるため (つまり、ファイルのダウンロード状況など)、先頭と末尾を関数で囲みます */
function phpftp_top() {
global $phpftp_version;
?>
phpftp_bottom();
}
/* この関数は TRUE/FALSE を返さず、<🎜 の値を返します。 > $ftp、現在の FTP ストリーム。 */
function phpftp_connect($phpftp_user,$phpftp_passwd) {
global $phpftp_host;
$ftp = ftp_connect($phpftp_host);
if ($ftp) {
if (ftp_login($ftp,$phpftp_user,urldecode($phpftp_passwd))) {
return $ftp;
}
}
}
function phpftp_list($phpftp_user,$phpftp_pass WD ,$phpftp_dir) {
global $phpftp_host;
phpftp_top();
?>
$ ftp = @phpftp_connect($phpftp_user,$phpftp_passwd);
if (!$ftp) {
?>
FTP ログインに失敗しました!
最初からやり直しますか?
phpftp_bottom();
} else {
if (!$phpftp_dir) {
$phpftp_dir=ftp_pwd($ftp);
}
if (!@ftp_chdir($ftp,$phpftp_dir)) {
?>
そのディレクトリには入れません!
$phpftp_dir=ftp_pwd($ftp);
}
echo "現在のホスト: " . $phpftp_host . "
n";
echo "現在のディレクトリ: " . $phpftp_dir . "
n";
if ($phpftp_dir == "/") {
$phpftp_dir="";
}
if ($contents = ftp_rawlist($ftp,"") {
$d_i=0;
$f_i=0;
$l_i=0;
$i =0;
while ($contents[$i]) {
$item[] = split("[ ] ",$contents[$i],9);
$item_type=substr($ item[$i][0],0,1);
if ($item_type == "d") {
/* ディレクトリです */
$nlist_dirs[$d_i]= $item [$i][8];
$d_i ;
elseif ($item_type == "l") {
/* シンボリックリンクです */
$nlist_links[$l_i]=$ item[$i][8];
$l_i ;
elseif ($item_type == "-") {
/* ファイルです */
$nlist_files[$f_i]= $item[$i][8];
$nlist_filesize[$f_i]=$item[$i][4];
$f_i ;
} elseif ($item_type == " ") {
/* anonftp サーバー上の何かです */
$eplf=split(",",implode(" ",$item[$i]),5);
if ($eplf[2 ] == "r") {
/* ファイルです */
$nlist_files[$f_i]=trim($eplf[4]);
$nlist_filesize[$f_i]=substr($ eplf[3],1);
$f_i ;
} elseif ($eplf[2] == "/") {
/*ディレクトリ */
$nlist_dirs[$d_i ]=trim($eplf[3]);
$d_i ;
}
}/* 他のすべてを無視します */
$i ;
}
?>
ディレクトリ | ファイル |