ホームページ  >  記事  >  バックエンド開発  >  PHP FTP学習4

PHP FTP学習4

WBOY
WBOYオリジナル
2016-07-29 08:33:48834ブラウズ

投稿者: Vikram Vaswani
Melonfire
2000 年 11 月 07 日
以下代码列表:
--------------------------------- -----------------------------------------------
< !-- ここから、index.html のコードが始まります -->




<ボディ>
<表の境界線=0 整列=中央>


<入力タイプ=隠し名=アクション値=CWD>


サーバー


<入力タイプ=テキスト名=サーバー>




ユーザー


<入力タイプ=テキスト名=ユーザー名>




パスワード


<入力タイプ=パスワード名=パスワード>












------------------------------------------------- ---------------------------------
--------------- -------------------------------------------------- ------------





<ボディ>

/*
---------------------------------------------- ----------------------------------
免責事項:
これは自己責任で使用するコードです。
これは説明のみを目的としており、実稼働環境を対象としたものではありません。ユーザーにはいかなる種類の保証も提供されません。
警告されました!
すべてのコードの著作権は Melonfire, 2000 にあります。 http://www.melonfire.com にアクセスしてください
---------------------------- -------------------------------------------------- -
*/
// FTP サーバーに接続する関数
function connect()
{
global $server, $username, $password;
$conn = ftp_connect($server);
ftp_login($conn, $ユーザー名, $パスワード);
$conn を返します;
}
// メインプログラムが開始します
// 有効なフォームエントリをチェックします、そうでない場合はエラーを出力します
if (!$server || !$username || !$password)
{
echo "フォームデータが不完全です!";
}
else
{
// 接続
$result = connect();
// アクション: ディレクトリを変更します
if ($action == "CWD")
{
// 初期段階では $rdir が存在しません
// そのため、デフォルトのディレクトリを仮定します
if (!$rdir)
{
$path = "。";
}
// 現在の場所 $cdir を取得し、要求されたディレクトリ $rdir に追加します
else
{
$path = $cdir . 「/」。 $rdir;
}
// 要求されたディレクトリに変更します
ftp_chdir($result, $path);
}
// アクション: ファイルを削除します
else if ($action == "削除")
{
ftp_chdir($result, $cdir);
// 選択したファイルをループして削除します
for ($x=0; $x{
ftp_delete($result, $cdir . "/" . $dfile[$x] );
}
}
// アクション: ファイルをダウンロード
else if ($action == "ダウンロード")
{
ftp_chdir($result, $cdir);
// 選択したファイルをダウンロードします
// 重要: ここでは別のダウンロード場所を指定する必要があります。
for ($x=0; $x{
ftp_get($result, $dfile[$x], $dfile[$x], FTP_BINARY);
}
}
// アクション: ファイルをアップロードします
else if ($action == "アップロード")
{
ftp_chdir($result, $cdir);
// put file
/*
より良いアイデアは
$res_code = ftp_put($result, $HTTP_POST_FILES["upfile"]["name"],
$HTTP_POST_FILES["upfile"]["tmp_name") を使用することです]、FTP_BINARY);
セキュリティが強化されるため
*/
$res_code = ftp_put($result, $upfile_name, $upfile, FTP_BINARY);
// ステータスを確認して表示します
if ($res_code == 1)
{
$status = "アップロード成功!";
}
else
{
$status = "アップロード エラー!";
}
}
// ファイルリストを作成
$filelist = ftp_nlist($result, ".");
// および表示インターフェイス
include("include.php");
// 接続を閉じる
ftp_quit($result);
}
?>



------------------------------------------------- ---------------------------------
--------------- -------------------------------------------------- ------------


// 現在位置を取得
$here = ftp_pwd($result);
/*
ftp_size() は非常に遅いため、特にディレクトリ内のすべてのファイルを含む配列を操作する場合、
このセクションでは現在の
ディレクトリ内のすべてのファイルに対して ftp_size() を実行し、3 つの配列を作成します。
*/
// ファイルの配列
$files = Array();
// ディレクトリの配列
$dirs = Array();
// ファイルサイズの配列
$file_sizes = Array();
// カウンタ
$file_list_counter = 0;
$dir_list_counter = 0;
// $filelist の各要素をチェックします
for ($x=0; $x{
if (ftp_size($result, $filelist[$x]) != -1 )
{
// 配列を作成します
$files[$file_list_counter] = $filelist[$x];
$file_sizes[$file_list_counter] = ftp_size($result, $filelist[$x]);
$file_list_counter++;
}
else
{
$dir_list[$dir_list_counter] = $filelist[$x];
$dir_list_counter++;
}
}
?>

<中央>
あなたは現在 < で働いていますか? $here をエコーし​​ます。 ?>



$ステータスをエコー; ?>




利用可能なディレクトリ:


に配置することかもしれません。
<入力タイプ=隠し名=ユーザー名値=>
<入力タイプ=隠し名=パスワード値=>
<入力タイプ=隠し名=サーバー値=>
<入力タイプ=隠し名=cdir値=>

<入力タイプ=隠し名=アクション値=CWD>

<名前=rdirを選択>


for ($x=0; $x{
echo "




ファイルのアップロード:


<入力タイプ=隠し名=ユーザー名値=>
<入力タイプ=隠し名=パスワード値=>
<入力タイプ=隠し名=サーバー値=>
<入力タイプ=隠し名=cdir値=>
<テーブル>



<入力タイプ=ファイル名=アップファイル>











以上、PHP の FTP 学の 4 つについて説明しました。側面の内容も含まれており、PHP の教育に関心のある友人の助けになることを望みます。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。