ホームページ  >  記事  >  バックエンド開発  >  PHPファイルシステムの詳しい説明(推奨)

PHPファイルシステムの詳しい説明(推奨)

WBOY
WBOYオリジナル
2016-07-25 08:54:22861ブラウズ
  1. $filename="./files.text";
  2. $fp=fopen($finename,"rb")
  3. $encho fread($fp,100);
コードをコピー

readfile()、file()、および file_get_contents() 関数。 readfile()、file()、および file_get_contents() 関数。 int readfile(string filename[,bool use_include_path,resource context]);//ファイルを読み取り、成功した場合は読み取ったバイト数を返し、それ以外の場合は false を返します。ファイル名 ファイル名。 use_include_path パラメーターは、include_path でのファイルの検索をサポートするかどうかを制御します。true はサポートされることを意味します。 readfile 関数を使用してファイルを開いたり閉じたりする必要はありません。 Array file(string filename [,bool use_include_path[,resource context]]);//ファイル全体の内容を配列に読み取ります。成功した場合は配列が返され、それ以外の場合は false が返されます。 string file_get_contents(string filename[,bool use_include_path[,resource context[,int offset[,int maxlen]]]]); //context は 5.0 の新しいコンテンツであり、NULL で無視できます。 offset、maxlen は 5.1 の内容です。 offset はファイルの開始位置をマークするために使用され、maxlen は読み取られるファイルの長さを設定します。この方法はバイナリ ファイルの読み取りに適しています。ファイルの内容を文字列に読み取るための推奨される方法です。オペレーティング システムでサポートされている場合は、パフォーマンスを向上させるためにメモリ マッピング テクノロジも使用されます。特殊文字 (スペースなど) を含む URL を開く場合は、urlencode() を使用して URL をエンコードします。

注: readfile()、file()、および file_get_contents() は、フォルダー全体の内容を読み取る場合は fopen() および fclose() 関数を使用する必要はありませんが、文字、文字行、および任意の長さを読み取る場合には文字を使用する必要があります。

2.ファイルに書き込む: int fwrite(resource handle,string[,int length]);//ファイル書き込み操作を実行します。このメソッドは、文字列の内容をファイル ポインター ハンドルに書き込むためにも使用されます。 length が設定されている場合、操作は length バイトが書き込まれた後、または文字列が書き込まれた後に停止します。書き込みが成功した場合は true を返し、そうでない場合は false を返します。 注: length パラメータが指定されている場合、php.ini ファイル内の magic_quotes_runtime オプションは無視され、文字列内のスラッシュは削除されません。バイナリ ファイルとテキスト ファイル システムを区別するには、ファイルを開くときに fopen() 関数のモード パラメータに「b」を追加する必要があります。 int file_put_contents(string filename,string data[.int flags[,resource context]]);//ファイルに文字列を書き込み、成功した場合はバイト数を返し、そうでない場合は false を返します。 flags: ファイルのロックを実装します (オプションには、file_use_include_path、file_append: 追加、lock_ex: 排他ロックが含まれます)。 context コンテキストリソース。 注: fwrite() にはファイルを書き込む機能がありますが、fopen() および fclose() 関数によってサポートされている必要があります。 file_put_contents() は、fopen()、fwrite()、および fclose() の関数を統合し、独立してファイルの書き込みを完了できます。 3. ファイルを閉じます ファイルが開いている場合は、ファイルに対する操作が完了した後、ファイルを閉じる関数が必要です。そうしないと、エラーが発生する可能性があります。 bool fclose(resource handle); // パラメータ ハンドルが指すファイルを閉じます。成功した場合は true を返し、それ以外の場合は false を返します。

ファイルをロックする データをテキスト ファイルに書き込む場合は、他のユーザーが同時にファイルの内容を変更できないように、最初にファイルをロックする必要があります。ファイルのロックは、flock() 関数を通じて PHP に実装されます。 bool flock(int handle,int activity);//パラメータ操作はロック許可を制御します。以下を含みます: lock_sh: 共有ロック (リーダー) を取得します。 lock_ex: 排他ロック(書き込み)を取得します。 lock_un: ロックを解除します。 lock_nb: ロック時に flock() 関数がブロックされないようにします。

ディレクトリ処理機能 ディレクトリは特別な種類のファイルです。これはファイルなので、操作する場合は、まずファイルを開いて閲覧し、最後に忘れずに閉じる必要があります。

1.ディレクトリを開きます

指定されたディレクトリファイルを開き、成功した場合はディレクトリハンドルを返します。それ以外の場合は false を返します。ファイルを開く場合とは異なり、ディレクトリが存在しない場合、ディレクトリは自動的に作成されず、エラー メッセージがスローされます。 opendir() 関数の前に「@」記号を追加すると、エラー メッセージの出力をブロックできます。 resource opendir(string path[,resource context]);//path は、開くディレクトリ ファイルを指定します。指定されたパスが有効なディレクトリではない場合、または権限の問題によりファイル システム エラーが発生して開けない場合、この関数は false を返し、E_WARNING レベルのエラー メッセージを生成します。

2. カタログを閲覧する

opendir 関数と scandir 関数によって返されたハンドルを使用して、ブラウジング操作を実装します。 Array scandir(string directory[,intsorting_ordering[,resource context]]);//指定されたパスの下のディレクトリとファイルを参照するために使用されます。成功した場合はファイル名を含む配列を返し、それ以外の場合は false を返します。 directory は参照するディレクトリを指定します。ディレクトリでない場合は false が返され、E_WARNING レベルのエラー メッセージが生成されます。 sort_order は並べ替え順序を設定します。デフォルトはアルファベット昇順です。このパラメータを指定すると、降順で並べ替えられます。 注: is_dir() 関数は、指定されたファイル名がディレクトリであるかどうかを判断します。ファイル名が存在し、ディレクトリである場合は true を返し、それ以外の場合は false を返します。相対ディレクトリの場合は、その相対パスが現在の作業ディレクトリに対してチェックされます。

3. ディレクトリを閉じます。 void Closedir(resource handle);//ハンドル、閉じる作業ディレクトリのハンドル。

注: 以前に学んだように、開かれたディレクトリが存在しない場合、システムはディレクトリを作成しません。次に、必要なディレクトリを自分で作成できます。次の機能を適用できます。 mkdir() 関数: 新しいディレクトリを作成し、成功した場合は true を返し、それ以外の場合は false を返します。 rmdir() 関数: ディレクトリを削除します。ディレクトリは空である必要があり (ディレクトリ内にファイルやサブディレクトリが存在しない)、操作権限が必要です。 Unlink() 関数: ファイルを削除し、成功した場合は true、失敗した場合は false を返します。

phpファイルアップロードとphpファイルダウンロードの原則 ​​​​ ステップの内容: ステップ 1: アップロードされたファイルを制御し、php.ini ファイルを通じて設定します。 ステップ 2: アップロードされたファイルを判断します。アップロードするファイルのサイズや形式など ステップ 3: ファイルをアップロードする操作方法を実行します。

1. アップロードされたファイルを制御する:

PHP は、アップロードがサポートされているかどうか、アップロードされたファイルの一時ディレクトリ、アップロードされたファイルのサイズ、命令の実行時間、命令によって割り当てられたメモリ空間など、アップロードされたファイルを php.ini を通じて制御します。 php.ini ファイルでファイル アップロード オプションを見つけて、上記のオプションの設定を完了します。オプションには次の意味があります。 file_uploads: オンの場合は、サーバーがファイルのアップロードをサポートしていることを意味します。オフの場合は、ファイルのアップロードをサポートしていません。通常、これはデフォルトでサポートされており、このオプションを変更する必要はありません。 Upload_tem_dir: ファイルをアップロードするための一時ディレクトリ。ファイルのアップロードが成功する前に、ファイルはまずサーバーの一時ディレクトリに保存されます。ほとんどの場合、システムのデフォルト ディレクトリが使用されますが、自分で設定することもできます。 Upload_max_filesize: サーバーがアップロードできるファイルの最大サイズ (MB 単位)。システムのデフォルトは 2MB です。それを超える場合は、値を変更する必要があります。 max_execution_time: PHP のコマンドを実行できる最大時間 (秒単位)。非常に大きなファイルをアップロードする場合は、このコマンドを変更する必要があります。変更しないと、ファイルのタイムリーなアップロードはサーバーによって許可される範囲内になりますが、コマンドの実行可能な最大時間を超える場合は、やはりアップロードできません。 Memory_limit: php のコマンドによって割り当てられたメモリ空間 (MB 単位)。そのサイズは、非常に大きなファイルのアップロードにも影響します。

備考: クライアントでファイルのアップロードのアプリケーションを制御する場合、フォームの enctype 属性とメソッド属性、および隠しフィールド MAX_FILE_SIZE が制御されます。 enctype="multipart/form-data": フォームエンコードデータ方式を指定します。 Method="post": データ送信の方法を指定します。 : 隠しフィールドを使用して、アップロードされるファイルのサイズをバイト単位で制御します。この値は、php.ini 設定ファイルの Upload_max_filesize オプションで設定された値を超えることはできません。アップロードされるファイルのサイズを完全に制御することはできず、不必要なトラブルを回避することしかできません。

2.アップロードしたファイルを決定します

アップロードされたファイルを判定するためにグローバル変数 $_FILES が使用されます。 $_FILES は、アップロードされたすべてのファイルに関する情報を含む配列です。配列内の各要素の意味は次のとおりです。 $_FILES[ファイル名][名前]: text.txt、title.jpg など、アップロードされたファイルのファイル名を保存します。 $_FILES[ファイル名][サイズ]: 保存されたファイルのサイズ (バイト単位)。 $_FILES[filename][tem_name]: ファイルを一時ディレクトリに保存するために使用されるファイル名。これは、ファイルがアップロードされるときに、最初に一時ディレクトリに一時ファイルとして保存する必要があるためです。 $_FILES[ファイル名][タイプ]: アップロードされたファイルの MIME タイプを保存します。 MIME は、さまざまなファイル形式のタイプを指定します。各 MIME タイプは、「/」で区切られたメイン タイプとサブタイプで構成されます。例:「image/gif」のメインタイプは画像で、サブタイプはGIF形式ファイルです。 「text/html」はテキストのHTMLファイルを表します。 $_FILES[ファイル名][エラー]: ファイルアップロードのエラーコードを格納します: この項目はPHP4.2.0版での新規内容です。戻り値は次の 5 種類で構成されます。 0:エラーがないことを示します。ファイルが正常にアップロードされました。 1:アップロードされたファイルのサイズが設定ファイルディレクティブのupload_max_filesizeオプションの制限値を超えていることを示します。 2:アップロードしたファイルのサイズがHTMLフォームのmax_file_sizeオプションで指定した値を超えていることを示します。 3: ファイルの一部のみがアップロードされていることを示します。 4: ファイルがアップロードされていないことを示します。 例:

  1. /*画像をアップロードするかどうかを決定*/
  2. if(!empty($_FILES['up_picture'][name])){
  3. /*画像の情報を変数に代入* /
  4. $type=strto lower(strstr($_FILES['up_picture'][name],"."));
  5. if($type != '.jpg' && $type != '.gif') echo "アップロードしたファイル形式が間違っています";
  6. else{
  7. if($_FILES['up_picture'][size]<2000000 && $_FILES['up_picture'][size]>0){
  8. echo "アップロードファイル名: ".$ _FILES['up_picture'][name]."
    ";
  9. echo "アップロード ファイルの種類:".$type."
    ";
  10. echo "アップロード ファイル サイズ:".$ _FILES['up_picture'][size]."
    ";
  11. }else echo "画像のサイズが要件を満たしていません。";
  12. }
  13. }
  14. ?>
コードをコピー

1 2 次の最後のページ



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