$fp=fopen($finename,"rb") ;
$エンチョフレッド($fp,100)?>
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 filename[,bool use_include_path[,resource context[, int maxlen]]]]);//context は 5.0 の新しいコンテンツであり、NULL で無視できます。 offset、maxlen は 5.1 の内容です。 offset はファイルの開始位置をマークするために使用され、maxlen は読み取られるファイルの長さを設定します。この方法はバイナリ ファイルの読み取りに適しています。ファイルの内容を文字列に読み取るための推奨される方法です。オペレーティング システムでサポートされている場合は、パフォーマンスを向上させるためにメモリ マッピング テクノロジも使用されます。特殊文字 (スペースなど) を含む URL を開く場合は、urlencode() を使用して URL をエンコードします。
注: readfile()、file()、および file_get_contents() は、フォルダー全体の内容を読み取る場合は fopen() および fclose() 関数を使用する必要はありませんが、文字、文字行などを読み取る場合には 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 Operation);//パラメータ操作はロック許可を制御します。以下を含みます: lock_sh: 共有ロック (リーダー) を取得します。 lock_ex: 排他ロック(書き込み)を取得します。 lock_un: ロックを解除します。 lock_nb: ロック時に flock() 関数がブロックされないようにします。
ディレクトリ処理関数
ディレクトリは特別な種類のファイルです。これはファイルなので、操作する場合は、まずファイルを開いて閲覧し、最後に忘れずに閉じる必要があります。 1. ディレクトリを開きます
指定されたディレクトリファイルを開きます。成功したら、ディレクトリハンドルを返します。それ以外の場合は false を返します。ファイルを開く場合とは異なり、ディレクトリが存在しない場合、ディレクトリは自動的に作成されず、エラー メッセージがスローされます。 opendir() 関数の前に「@」記号を追加すると、エラー メッセージの出力をブロックできます。
resource opendir(string path[,resource context]);//パスは開くディレクトリファイルを指定します。指定されたパスが有効なディレクトリではない場合、または権限の問題によりファイル システム エラーが発生して開けない場合、この関数は 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 を返します。
ファイルのアップロードとダウンロードの原則 ステップの内容:
ステップ 1: アップロードされたファイルを制御し、php.ini ファイルを通じて設定します。
ステップ2:アップロードされたファイルを判断します。アップロードするファイルのサイズや形式など
ステップ3:ファイルをアップロードする操作方法を実行します。
1. アップロードされたファイルの制御: PHP は、アップロードがサポートされているかどうか、アップロードされたファイルの一時ディレクトリ、アップロードされたファイルのサイズ、命令の実行時間、割り当てられたメモリなど、アップロードされたファイルを制御します。スペースによる。
php.iniファイルでファイルアップロードオプションを見つけて、上記のオプションの設定を完了します。オプションの意味は次のとおりです:
file_uploads: on の場合、サーバーがファイルのアップロードをサポートしていることを意味します。 off の場合、サーバーはファイルのアップロードをサポートしません。通常、これはデフォルトでサポートされており、このオプションを変更する必要はありません。
upload_tem_dir: ファイルをアップロードするための一時ディレクトリ。ファイルのアップロードが成功する前に、ファイルはまずサーバーの一時ディレクトリに保存されます。ほとんどの場合、システムのデフォルト ディレクトリが使用されますが、自分で設定することもできます。
Upload_max_filesize: サーバーがアップロードできるファイルの最大サイズ (MB 単位)。システムのデフォルトは 2MB です。それを超える場合は、値を変更する必要があります。
max_execution_time: php のコマンドを実行できる最大時間 (秒単位)。非常に大きなファイルをアップロードする場合は、このコマンドを変更する必要があります。変更しないと、ファイルのタイムリーなアップロードはサーバーによって許可される範囲内になりますが、コマンドの実行可能な最大時間を超える場合は、やはりアップロードできません。
Memory_limit: php のコマンドによって割り当てられたメモリ空間 (MB 単位)。そのサイズは、非常に大きなファイルのアップロードにも影響します。
備考: クライアントでファイルのアップロードのアプリケーションを制御する場合、フォーム form の enctype 属性とメソッド属性、および隠しフィールド MAX_FILE_SIZE を指定します。
enctype="multipart/form-data": フォームのエンコーディング データ メソッドを指定します。 。
Method="post":データ送信の方法を指定します。
: 隠しフィールドを使用して、アップロードされるファイルのサイズをバイト単位で制御します。この値は、php.ini 設定ファイルの Upload_max_filesize オプションで設定された値を超えることはできません。アップロードされるファイルのサイズを完全に制御することはできず、不必要なトラブルを回避することしかできません。
2.アップロードされたファイルを判定する
グローバル変数$_FILESは、アップロードされたすべてのファイルに関する情報を含む配列です。配列内の各要素の意味は次のとおりです:
$_FILES[filename][name]: 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: ファイルがアップロードされていないことを示します。
例:
コードをコピー コードは次のとおりです:
/*写真をアップロードするかどうかを決定*/
if(!empty($_FILES['up_picture'][name])){
/*写真の情報を変数に代入*/
$ type= strto lower(strstr($_FILES['up_picture'][name],"."));
if($type != '.jpg' && $type != '.gif') echo "アップロードしたファイル間違った形式です ";
else{
if($_FILES['up_picture'][size]<2000000 && $_FILES['up_picture'][size]>0){
echo "アップロード ファイル名: " .$_FILES[' up_picture'][name]."
";
echo "アップロード ファイルの種類:".$type."
";
echo "アップロード ファイルのサイズ:"; .$_FILES[' up_picture'][size]."
";
}else echo "画像のサイズが要件を満たしていません。"; 3. ファイルのアップロード。
phpのmove_uploaded_file()関数を適用してファイルをアップロードします。ただし、実行前に、スクリプトを通じて操作できないファイルを不正に管理することによる潜在的な攻撃を防ぐために、まず is_uploaded_file() 関数を使用して、指定されたファイルが HTTP POST 経由でアップロードされたかどうかを確認し、アップロードされている場合は true を返します。この機能により、悪意のあるユーザーがスクリプトをだましてアクセスできないファイルにアクセスすることができなくなります。
bool is_uploaded_file(string name);//指定されたファイルが HTTP POST 経由でアップロードされたかどうかを判断するために使用されます。 filename は、$_FILES['filename']['temp_name'] のような変数である必要があります。クライアントからアップロードされたファイル名は使用できません。
move_upload_file(string filename,string destination);//この関数は、サーバー内の指定された場所にファイルをアップロードするために使用されます。成功した場合は true を返し、そうでない場合は false を返します。 filename は、アップロードされたファイルの一時ファイル名、つまり $_FILES['tmp_name'] を指定し、パラメータ destination は、アップロード後に保存されるファイルの新しいパスと名前を指定します。パラメータが合法的にアップロードされたファイルではない場合、操作は行われず、関数は false を返します。正当なアップロード操作であるが、何らかの理由で移動できない場合、操作は行われず、警告が発行され、 false が返されます。
コードをコピー
コードは次のとおりです:
if( !empty($_FILES[ 'up_picture' ][ 'name' ])){
if( $_FILES['up_picture '][ 'error'] > 0){ echo "アップロードエラー!"; switch($_FILES['up_picture']['error']){ ケース 1:
b): 「Content-Disposition」でファイルを記述し、値「attachment;filename="test.jpg"」は福建省であることを示し、ダウンロードしたファイルの名前も指定します。
header(' Content-Disposition:attachment;filename="test. jpg" ');