/* $Id: ftp.php,v 2.2 2002/03/12 23:21:28 pauls Exp $ */
/* このソフトウェアは http://inebria.com/ からのものです */
/* 著作権 (c) 2000
Paul Southworth。 All Rights Reserved.
以下の条件
が満たされる限り、
改変の有無に関わらず、ソースおよびバイナリ形式での再配布および使用が許可されます:
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;
?>
これはPHP FTP
バージョン
ディレクトリが空か読み取り不可< /strong>
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_passwd,$phpftp_dir) {
global $phpftp_host;
phpftp_top();
?>
$ftp = @phpftp_connect($phpftp_user,$phpftp_passwd);
if (!$ftp) {
?>
FTP ログインに失敗しました! Strong>
最初からやり直しますか?
phpftp_bottom();
} else {
if (!$phpftp_dir) {
$phpftp_d ir=ftp_pwd ($ftp);
}
if (!@ftp_chdir($ftp,$phpftp_dir)) {
?>
gt;そのディレクトリには入れません!< ;/strong>
$phpftp_dir=ftp_pwd($ftp);
}
echo "現在のホスト: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++;
}
?>
if (count($nlist_dirs)>0) {
?>
ディレクトリ
< ;/td>
}
if (count($nlist_files)>0) {
?>
ファイル
< ;/td>
}
} else {
?>
}
?>
< ;form enctype="multipart/form-data" action="ftp.php" method=post>
<入力タイプ="hidden" name="function" value="put">