ここでようやく、プログラムのユーザー インターフェイスを設定する 3 番目のファイル include.php に到達します。
「include.php」には 3 つのフォームが含まれており、現在のディレクトリのリストを取得し、それらを 3 つの変数
$files (現在のディレクトリ内のファイルを含む)、
$file_sizes (対応するファイル サイズ)、
、および $ に保存するための PHP コードが含まれています。 dirs (サブディレクトリ名を含む)
最初の形式では、$dirs を使用して、「action=CWD」に対応するドロップダウン ディレクトリ リストを生成します。
2 番目の形式では、$files $file_sizes を使用して利用可能なファイルのリストを作成し、各ファイルはチェックボックスを使用します。このフォームのアクションは、「action=Delete」と「action=Download」に対応します
3 番目のフォームは、次のように、FTP サイトにファイルをアップロードするために使用されます:
------------ --- --------------------------------------------------- --- ---------------
--------------------------------- ------ --------------------------------------
いつPHP は次のように動作します。ファイル名を受け取ると、いくつかの変数が生成され、ファイル サイズ、一時ファイル名、およびファイル タイプが指定されます。アップロードされると、ファイル名は $upfile_name に保存されます。 $upfile (この変数は PHP 自体によって作成されます)
この情報を使用して、次のステートメントを作成できます:
-------------------------- -------------------------------------------------- - ---
ftp_put($result, $upfile_name, $upfile, FTP_BINARY);
---------------------------- ---------------------------------------------------- ----
コードリストは次のとおりです:
-------------------------------------- ------------ ---------------------------------------------------
< ;!-- ここから、index.html のコードが始まります - ->
table>
---------------- --------------------------------- --------------- ------------------------
---------- ------- -------------------------------- ------------------ --
/*
--------------------- --------------------- ----------------------------- ------
免責事項:
これは自己責任で使用してください。リスク コードです。
これは説明のみを目的としており、運用環境向けではありません。ユーザーにはいかなる種類の保証も提供されません。
警告されました!
すべてのコードの著作権は Melonfire, 2000 にあります。 http://www.melonfire.com
------ ---------------------- ------------------------ -----------
*/
// 接続する関数FTP サーバー
関数 connect()
{
グローバル $server, $username, $password;
$conn = ftp_connect($server );
ftp_login($conn, $username, $password);
return $conn;
}
// メインプログラムが開始します
// 有効なフォームエントリをチェックします。 else print エラー
if (!$server
! $username
!$password)
{
echo "フォームデータが不完全です!";
}
else
{
// connect
$result = connect();
// action:ディレクトリ変更
if ($ action == "CWD")
{
// 初期段階では$rdirは存在しません
// したがって、デフォルトのディレクトリであると仮定します
if (!$rdir)
{
$path = ".";
}
// 現在の場所 $cdir を取得し、要求されたディレクトリに追加します $rdir
else
{
$path = $ cdir . "/" . $rdir;
}
// 要求されたディレクトリに変更します
ftp_chdir($result, $path) ;
}
// アクション: ファイルを削除します
if ($action = = "削除")
{
ftp_chdir($result, $cdir);
// 選択したファイルをループして削除します
for ($x=0; $x{
ftp_delete($result, $cdir . "/" . $dfile[$x]);
}
}
/ / action: ファイルをダウンロード
else if ($action == "Download")
{
ftp_chdir ($result, $cdir);
// 選択したファイルをダウンロードします
// 重要: ここで別のダウンロード場所を指定する必要があります !!
for ($x=0; $x{
ftp_get($result, $dfile[$x], $dfile[$x], FTP_BINARY);
}
}
// アクション: ファイルをアップロードします
else if ($action == "Upload")
{
ftp_chdir($result, $cdir);
// ファイルを置く
/*
より良いアイデアは、使用することです
$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();
//counters
$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 をエコーします。 ?>
$ステータスをエコー; ?>
利用可能なディレクトリ:
利用可能なファイル:
ファイルアップロード:
http://www.bkjia.com/PHPjc/313932.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/313932.html技術記事 「include.php」には 3 つのテーブルが含まれており、一部の PHP コードを取得して、...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
今まで知らなかったことを後悔している 7 つの PHP 関数
Nov 13, 2024 am 09:42 AM
あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。
PHPでHTML/XMLを解析および処理するにはどうすればよいですか?
Feb 07, 2025 am 11:57 AM
このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます
JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。
Apr 05, 2025 am 12:04 AM
JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。
母音を文字列にカウントするPHPプログラム
Feb 07, 2025 pm 12:12 PM
文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。
母音とは何ですか?
母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。
a、e、i、o、u
例1
入力:string = "tutorialspoint"
出力:6
説明する
文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります
PHPでの後期静的結合を説明します(静的::)。
Apr 03, 2025 am 12:04 AM
静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。
PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか?
Apr 03, 2025 am 12:03 AM
PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。
See all articles