PHP ディレクトリとファイルの処理 - Zheng Aqi (続き)
1. ファイル ディレクトリの操作
最上位のディレクトリはディスク ルート ディレクトリです。「/」または「//」を使用して
現在のディレクトリ./
../ を指定し、Apache ディレクトリを指定します。 htdocs ディレクトリ
1 .ディレクトリの作成と削除 mkdir
コードをコピー コードは次のとおりです:
if(mkdir("./path",0700)) //カレントディレクトリにパスディレクトリを作成します。
echo "作成に成功しました"; <🎜; >
2. 現在のディレクトリを取得および変更します。
getcwd() 関数を使用して現在の作業ディレクトリを取得します。この関数にはパラメータがありません。成功した場合は現在の作業ディレクトリを返し、失敗した場合は FALSE を返します。
3. ディレクトリ ハンドルを開いて閉じます。
opendir($dir)
closed($dir_handle)
4. ディレクトリの内容を読み取ります。
readdir()、このパラメータはすでに開かれているディレクトリ ハンドルであり、while ループでディレクトリを走査するために使用できます。
5. 指定されたパス内のディレクトリとファイルを取得します。
array scandir(string $directory [, int $sorting_order [, resource $context ]])
説明: $directory は指定されたパスです。パラメータ $sorting_order はデフォルトでアルファベット昇順でソートされます。1 に設定すると、アルファベット降順でソートされます。
$context はオプションのパラメータであり、stream_context_create() 関数を使用して生成できるリソース変数です。この変数には、特定の操作オブジェクトに関連するデータが格納されます。
関数が成功すると、指定されたパスにあるすべてのディレクトリとファイル名を含む配列が返されます。失敗した場合は、FALSE が返されます。
2. ファイルを開く一般的な方法
3.ファイルを閉じる
1 .ファイルを開きます
resource fopen(string $filename , string $mode [, bool $use_include_path [, resource $context ]])
●$filename パラメーター。 fopen() 関数は、$filename パラメーターで指定された名前リソースをストリーム
●$mode パラメーターにバインドします。 $mode パラメータは、fopen() 関数がファイルにアクセスするモードを指定します。値は表 4.5 に示されています。
$mode
説明
'r'
読み取り専用モードでファイルを開き、ファイルヘッダーから読み取りを開始します
'r+'
読み取り/書き込みモードでファイルを開きます、ファイルヘッダーから読み取りと書き込みを開始します
'w'
書き込みモードでファイルを開き、ファイルポインターをファイルヘッダーにポイントします。ファイルが既に存在する場合は、既存のコンテンツを削除します。ファイルが存在しない場合は、ファイルの作成を試みます。
'w+'
ファイルを読み取り/書き込みモードで開き、ファイル ポインターをファイル ヘッダーにポイントします。ファイルが既に存在する場合は、既存のコンテンツを削除します。ファイルが存在しない場合は、ファイルを作成してください。
'a'
ファイルを書き込みモードで開き、ファイル ポインタをファイルの末尾に向けます。ファイルにすでにコンテンツがある場合は、ファイルの最後から書き込みが開始されます。ファイルが存在しない場合は、ファイルの作成を試みます。
'a+'
読み取り/書き込みモードでファイルを開き、ファイル ポインタをファイルの末尾にポイントします。ファイルにすでにコンテンツが含まれている場合、読み取りと書き込みはファイルの末尾から開始されます。ファイルが存在しない場合は、ファイルの作成を試みます
'x'
書き込み用にファイルを作成して開き、ファイル ポインターをファイル ヘッダーにポイントします。ファイルが既に存在する場合、 fopen() 呼び出しは失敗して FALSE を返し、E_WARNING レベルのエラー メッセージが生成されます。ファイルが存在しない場合は、ファイルの作成が試行されます。このオプションは PH 以降のバージョンでサポートされており、ローカル ファイルに対してのみ使用できます。
'x+'
ファイル ポインターをファイル ヘッダーにポイントして、読み取り/書き込みモードでファイルを作成して開きます。ファイルが既に存在する場合、 fopen() 呼び出しは失敗して FALSE を返し、E_WARNING レベルのエラー メッセージが生成されます。ファイルが存在しない場合は、ファイルの作成が試行されます。このオプションは PH 以降のバージョンでサポートされており、ローカル ファイル
'b'
バイナリ モードでのみ使用でき、他のモードの背後で接続するために使用されます。ファイル システムがバイナリ ファイルとテキスト ファイルを区別できる場合 (Windows では区別できますが、UNIX では区別できません)、このオプションを使用する必要があります。移植性を最大限に高めるために、常にこのオプションを使用することをお勧めします。
●$use_include_path パラメータ。 。 include_path (PHP のインクルード パス、PHP の設定ファイルで設定) 内のファイルを検索する必要がある場合、
オプションのパラメーター $use_include_path の値を 1 または TRUE に設定できます。デフォルトは FALSE です。
●$contextパラメータ。オプションの $context パラメータは、ファイルがリモートで開かれる場合 (HTTP 経由で開く場合など) にのみ使用されます。これは、fopen() 関数の特定の操作オブジェクトに関連するデータを格納するリソース変数
です。 fopen() が HTTP アドレスを開く場合、
は、リクエスト タイプ、HTTP バージョン、および HTTP リクエストのその他のヘッダー情報を記録します。FTP アドレスを開く場合、
は FTP パッシブ/アクティブ モードを記録します。 🎜> 2. ファイルを閉じます
bool fclose(resource $handle)
4. ファイルの書き込み
ファイルが存在しない場合は、最初にファイルを作成する必要があります。 () 関数作成
●fwrite() ファイルを開いた後、ファイルに内容を書き込みます
int fwrite(resource $handle, string $string [, int $length])
説明: パラメータ$handle が書き込まれます データのセクションの後に書き込みを停止するファイル ハンドル。
●file_put_contents()関数。 PHP 5 では、file_put_contents() 関数も導入されました。この関数の機能は、fopen()、fwrite()、fclose() 関数を順番に呼び出したのと同じです。構文形式は次のとおりです。
int file_put_contents(string $filename, string $data [, int $flags [, resource $context ]])
説明: $filename は、データが保存されるファイルの名前です。書かれること。
$data は書き込まれる文字列です。$data は配列にすることもできますが、多次元配列にすることはできません。
FTP または HTTP を使用してリモート ファイルにデータを書き込む場合、オプションのパラメーター $flags および $context を使用できますが、ここでは詳しく説明しません。
この関数は、書き込みが成功した後に書き込まれたバイト数を返します。それ以外の場合は、FALSE を返します。
●fputcsv()関数。 CSV は一般的に使用されるファイル形式で、通常は拡張子が .csv です。 CSV 形式はファイルの 1 行をレコードとして扱い、レコード内のフィールドはカンマで区切られます。
PHP の fputcsv() 関数を使用して、指定された配列を CSV ファイル形式に準拠した内容にフォーマットし、ファイル ポインターが指す現在の行を書き込みます。構文形式は次のとおりです。
int fputcsv(resource $handle [, array $fields [, string $delimiter [, string $enclosure ]]])
説明: パラメーター $handle は、ファイル ハンドルです。書かれた。
パラメータ $fields はフォーマットされる配列です。
オプションの $delimiter パラメータは、フィールド区切り文字 (1 文字のみ使用可能) を設定するために使用されます。デフォルトはカンマです。
オプションの $enclosure パラメータはフィールド ラッパーを設定します (1 文字のみが許可されます)。デフォルトは二重引用符です
5 ファイルの読み取り
1. 任意の長さを読み取ります
fread() 関数を使用できますファイルの内容を読み取るための構文形式は次のとおりです:
string fread(int $handle, int $length)
説明: パラメータ $handle はオープン ファイル ポインタ、
$length は指定された読み取りの最大バイト数、$length の最大値は 8192 です。
$length バイトを読み取る前にファイルの終わりフラグ (EOF) が検出された場合、読み取られた文字が返され、読み取り操作が停止します。
読み取りが成功した場合は読み取った文字列を返し、エラーが発生した場合は FALSE を返します。
注: ファイルを読み取った後にファイルの内容を表示する場合、テキストには HTML タグなど、直接表示できない文字が含まれる場合があります。
現時点では、htmlspecialchars() 関数を使用して HTML タグをエンティティに変換し、ファイル内の文字を表示する必要があります。
2. ファイル全体を読み込みます
●file()関数。 file() 関数は、ファイル全体を配列に読み取るために使用されます。構文形式は次のとおりです。
array file(string $filename [, int $use_include_path [, resource $context ]])
説明:この関数は、ファイルを配列として返します。
失敗した場合は、配列内の対応する行を返します。パラメータ$filenameは読み込むファイル名です。パラメータ$use_inclue_pathと$contextの意味は、以前紹介した
●readfile()関数と同じです。 readfile() 関数は、ファイルの内容をブラウザに出力するために使用されます。構文形式は次のとおりです。
int readfile(string $filename [, bool $use_include_path [, resource $context ]])
●fpassthru()関数。 fpassthru() 関数は、指定されたファイル ポインターを現在位置から EOF まで読み取り、結果を出力バッファーに書き込みます。
この関数を使用するには、まず fopen() 関数を使用してファイルを開き、次にファイル ポインタをパラメータとして fpassthru() 関数に渡す必要があります。
fpassthru() 関数は、ファイルの内容を送信します。標準出力へのファイルポインタが指すファイル。操作が成功した場合は読み取られたバイト数を返し、それ以外の場合は FALSE を返します。
●file_get_contents()関数。 file_get_contents() 関数は、ファイルの内容の全体または一部を文字列に読み取ることができます。
関数は、fopen()、fread()、および fclose() 関数を順番に呼び出すことと同じです。構文形式は次のとおりです。
string file_get_contents(string $filename [, int $offset [, int $maxlen ]])
説明: $filename は読み取るファイル名で、オプションのパラメーター $offset です。
関数は、先頭の先頭からのオフセットからファイルを指定できます。$offset で指定された位置から $maxlen の長さのコンテンツを返すことができます。失敗した場合、関数は FALSE を返します
3. データ行を読み取ります
●fgets() 関数。 fgets() 関数は、ファイルからテキスト行を読み取ることができます。構文形式は次のとおりです。
string fgets(int $handle [, int $length])
説明: $handle は、開かれたファイル ハンドルです。 、オプションのパラメータ $length は、行末文字を考慮して、最大 length-1 バイトの文字列を返すことができます。 $length が指定されていない場合、デフォルトは 1024 バイトになります
●fgetss() 関数は基本的に fgets() と同じですが、fgetss() 関数は読み取ったテキストから html タグと php タグを削除しようとします。
●fgetcsv()関数。 fgetcsv() 関数は、指定されたファイルの現在行を読み取り、CSV 形式を使用してフィールドを解析し、これらのフィールドを含む配列を返すことができます。
構文形式は次のとおりです。
array fgetcsv(int $handle [, int $length [, string $delimiter [, string $enclosure ]]])
4. 文字を読み取ります
fgetc () 関数。 fgetc() 関数は、ファイル ポインターから文字を読み取ることができます。構文形式は次のとおりです。
string fgetc(resource $handle)
この関数は、$handle ポインターが指すファイル内の文字を返します。 EOF が見つかった場合は FALSE
5. 指定された形式の
fscanf() 関数を使用してファイルを読み取ります。 fscanf() 関数は、ファイル内のデータを読み取り、指定された形式に従ってフォーマットし、配列を返すことができます。構文は次のとおりです。
mixed fscanf(resource $handle , string $format [,mixed &$... ])
フォーマット文字列内の空白は、入力ストリーム内の空白と一致します。
これは、フォーマット文字列内のタブ文字「t」であっても、入力ストリーム内のスペース文字と一致することを意味します。
6. ファイルのアップロードとダウンロード
1. ファイルのアップロード
ファイルのアップロードは、HTML フォームを送信することで実行できます。ファイルはアップロード後、デフォルトで一時ディレクトリに保存されます。このとき、一時ディレクトリから削除するか、他の場所に移動する必要があります
。PHP の move_uploaded_file() を使用して別の場所に移動します
move_uploaded_file() 関数の構文形式は次のとおりです:
bool move_uploaded_file(string $filename, string $destination)
注: 確認する必要があります。ファイルを移動する前 ファイルが HTTP POST 経由でアップロードされるかどうかに関係なく、これを使用すると、悪意のあるユーザーがスクリプトをだまして、他の方法ではアクセスできないファイルにアクセスできないようにすることができます。
この場合、is_uploaded_file() 関数を使用する必要があります。 。この関数のパラメータはファイルの一時ファイル名です。ファイルが HTTP POST 経由でアップロードされた場合、関数は TRUE を返します。
例 4.5 HTML フォームからアップロードした GIF 画像ファイルを HTML ディレクトリに移動します
コードをコピーします コードは次のとおりです:
if(isset($_POST['up']))
{
if($_FILES['myFile']['type']=="image/gif") //ファイル形式がGIF
{
if($_FILES['myFile']['error']>0) //アップロード中にエラーがあるかどうかを判断します
echo "Error:".$_FILES['myFile ']['error ']; //エラーメッセージを出力します
else
{
$tmp_filename=$_FILES['myFile']['tmp_name']; //一時ファイル名
$filename =$_FILES[' myFile']['name']; //アップロードされたファイル名
$dir="html/"
if(is_uploaded_file($tmp_filename)) //HTTP POST 経由でアップロードするかどうかを決定します。
{
if(move_uploaded_file($tmp_filename,$dir.$filename)) // ファイルをアップロードして移動します
{
echo "ファイルが正常にアップロードされました!"
// 出力ファイル サイズ
echo " ファイルのサイズは次のとおりです: ".($_FILES['myFile']['size']/1024)."kb";
}
else
echo "ファイルのアップロードに失敗しました。 ";
}
}
}
else
{
echo "ファイル形式は GIF 画像ではありません!";
}
}
? >
2. ファイルのダウンロード
header() 関数の機能は、Web ページのコンテンツのタイプ、ページの属性、およびヘッダーをブラウザーに送信することです。その他の情報。 header() 関数には多くの関数がありますが、ここでは次の関数のみを示します。
●ページ ジャンプ。 header()関数のパラメータが「Location: xxx」の場合、自動的に「xxx」が指すURLへジャンプします。例:
header("Location: http://www.baidu.com"); //Baidu ページにジャンプします
header("Location: first.php"); //作業ディレクトリにジャンプしますfirst.php ページ
● Web コンテンツを指定します。たとえば、XML 形式の同じファイルの場合、header() 関数のパラメータが「Content-type: application/xml」と指定されている場合、
ブラウザは XML ファイル形式に従ってそれを解析します。ただし、「Content-type: text/xml」の場合、ブラウザはテキスト解析として扱います。
header() 関数と readfile() 関数を組み合わせて、閲覧するファイルをダウンロードできます
7. その他のよく使用されるファイル関数
1. ファイル サイズを計算します
filesize() 関数は次のとおりです。ファイルのサイズを計算するために使用されます。単位はバイトです
filesize() 関数と fread() 関数を組み合わせると、一度にファイル全体を読み取ることができます
2. ファイルが存在するかどうかを確認します
file_exits ()
is_dir() 関数は、指定されたファイル名がディレクトリであるかどうかを判断するために使用されます。
is_file() 関数は、指定されたファイル名がファイルであるかどうかを判断するために使用されます。
is_readable() 関数は、指定されたファイルが読み取り可能かどうかを判断するために使用されます。
is_writeable() は、指定されたファイルが書き込み可能かどうかを判断するために使用されます
3. ファイルを削除します
unlink()
4. ファイルをコピーします
bool copy(string $source, string $ dest) 、ディレクトリ ファイルが既に存在する場合は上書きされます
5. ファイルを移動して名前を変更します
move_uploaded_file() 関数に加えて、ファイルを移動できる rename() 関数もあります。
構文形式は次のとおりです:
bool rename ( string $oldname , string $newname [, resource $context ] )
説明: rename() 関数は主にファイル $oldname の名前を変更するために使用されます。はファイルです。古い名前、$newname は新しいファイル名です。
もちろん、$oldname と $newname のパスが異なっていれば、ファイルを移動する機能が実現します
6. ファイルポインタの操作
PHP には、次のようなファイルポインタを操作する関数がたくさんあります。 rewind()、ftell()、fseek() 関数など。先ほど使用した feof() 関数は、ファイルポインタがファイルの末尾にあるかどうかをテストするために使用されます。
もファイルポインタ操作関数です。
rewind() 関数。ファイル ポインターの位置をリセットして、ポインターがファイルの先頭に戻るようにするために使用されます。パラメーターは 1 つだけあり、それは開かれている指定されたファイルのファイル ハンドルです。
ftell() 関数。ファイル内のポインタの位置、つまりファイル ストリーム内のオフセットはバイト単位で報告できます。そのパラメータは、開かれたファイル ハンドルでもあります。
fseek() 関数。ファイル ポインタの移動に使用できます。構文形式は次のとおりです。
int fseek ( resource $handle , int $offset [, int $whence ] )
例 4.8 投票統計
コードをコピーします
コードは次のとおりです:

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











多くのユーザーはスマートウォッチを選ぶときにファーウェイブランドを選択しますが、その中でもファーウェイ GT3pro と GT4 は非常に人気のある選択肢であり、多くのユーザーはファーウェイ GT3pro と GT4 の違いに興味を持っています。 Huawei GT3pro と GT4 の違いは何ですか? 1. 外観 GT4: 46mm と 41mm、材質はガラスミラー + ステンレススチールボディ + 高解像度ファイバーバックシェルです。 GT3pro: 46.6mm および 42.9mm、材質はサファイアガラス + チタンボディ/セラミックボディ + セラミックバックシェルです。 2. 健全な GT4: 最新の Huawei Truseen5.5+ アルゴリズムを使用すると、結果はより正確になります。 GT3pro: ECG 心電図と血管と安全性を追加

Java の String.valueOf() 関数を使用して基本データ型を文字列に変換する Java 開発で基本データ型を文字列に変換する必要がある場合、一般的な方法は String クラスの valueOf() 関数を使用することです。この関数は、基本データ型のパラメータを受け入れ、対応する文字列表現を返すことができます。この記事では、基本的なデータ型変換に String.valueOf() 関数を使用する方法を検討し、いくつかのコード例を提供します。

char配列をstringに変換する方法:代入によって実現できます {char a[]=" abc d\0efg ";string s=a;} 構文を使用して、char配列にstringに値を直接代入させて実行します変換を完了するためのコード。

Java の String.replace() 関数を使用して文字列内の文字 (文字列) を置換する Java では、文字列は不変オブジェクトです。つまり、文字列オブジェクトが作成されると、その値は変更できません。ただし、文字列内の特定の文字または文字列を置換する必要がある状況が発生する場合があります。現時点では、Java の String クラスの replace() メソッドを使用して文字列置換を実装できます。 String クラスの replace() メソッドには 2 つのタイプがあります。

Windows 11 で Snipping Tool が機能しない理由 問題の根本原因を理解すると、適切な解決策を見つけるのに役立ちます。 Snipping Tool が正しく動作しない主な理由は次のとおりです。 フォーカス アシスタントがオンになっている: これにより、Snipping Tool が開かなくなります。破損したアプリケーション: 起動時にスニッピング ツールがクラッシュする場合は、破損している可能性があります。古いグラフィック ドライバー: 互換性のないドライバーは、スニッピング ツールに干渉する可能性があります。他のアプリケーションからの干渉: 実行中の他のアプリケーションが Snipping Tool と競合する可能性があります。証明書の有効期限が切れています: アップグレード プロセス中のエラーにより、この問題が発生する可能性があります。これらの簡単な解決策は、ほとんどのユーザーに適しており、特別な技術知識は必要ありません。 1. Windows および Microsoft Store アプリを更新する

皆さんこんにちは。今日は Java の基本知識である String についてお話します。 String クラスの重要性は言うまでもなく、バックエンド開発で最もよく使用されるクラスであるため、説明する必要があります。

Golang プログラミングでは、バイト、ルーン、文字列型は非常に基本的で一般的なデータ型です。これらは、文字列やファイル ストリームなどのデータ操作の処理において重要な役割を果たします。これらのデータ操作を実行するときは、通常、データを相互に変換する必要があるため、変換スキルを習得する必要があります。この記事では、読者がこれらのデータ型をより深く理解し、プログラミングの実践に上手に適用できるようにすることを目的として、Golang 関数のバイト、ルーン、および文字列の型変換テクニックを紹介します。

文字列の長さを取得するには、Java の String.length() 関数を使用します。Java プログラミングでは、文字列は非常に一般的なデータ型です。多くの場合、文字列の長さ、つまり文字列内の文字数を取得する必要があります。 Java では、String クラスの length() 関数を使用して文字列の長さを取得できます。簡単なコード例を次に示します。 publicclassStringLengthExample{publ
