ホームページ >バックエンド開発 >PHPチュートリアル >PHP_PHP チュートリアルのファイル操作方法に関する質問と回答
PHP でのファイル操作に関する Q&A
前書き:
PHP はさまざまなデータベースの操作をサポートしており、ファイル操作の操作方法も豊富です。多くの友人の現在の操作は依然としてファイル操作に基づいていますが、ファイルを操作するときに時々問題が発生します。まだ多くの混乱と疑問が残っています。 以下は、私が毎日の執筆プロセスで遭遇した、およびフォーラムの友人が遭遇したファイル操作に関するいくつかの問題をまとめたものです。
Q: 新しいファイルを作成するにはどうすればよいですか?
答え:
1. fopen("作成するファイル名", "パラメータ") を使用します。パラメータは w,w+,a,a+ です。
2. exec("echo '' > 作成するファイル名) を使用します。 " ); これは、システム メソッドを使用してこのファイルを作成することです。touch Linux コマンドを使用して作成することもできます。
Q: ファイルを作成できないのはなぜですか?
回答:
1. fopen を使用してファイルを作成している場合は、パラメーターを正しく使用していますか?
2. FTP ディレクトリに書き込み権限があるかどうかをウェブマスターに問い合わせてください。 PHP ファイルに書き込みたいファイルが存在するディレクトリに書き込み権限があることを確認する必要があります。つまり、FTP ソフトウェアにログインした後、他のグループに書き込み権限がある必要があります。そうでない場合は、権限を変更してください。もう一度試してください
Q: ファイルを配列に読み取るにはどうすればよいですか?
回答: ファイル機能を使用します
Q: すべてのファイルを読み出すにはどうすればよいですか?
回答:
1. fread($fp); を使用します。
2. PHP バージョンが 4.3.0 以降の場合は、file_get_contents(); を使用できます。
Q: ファイルが存在するかどうかを確認するにはどうすればよいですか?
答え: file_exists(); を使用してください。
もう一度質問してください: なぜ fopen() を使用して判断しないのでしょうか?
回答: 理由は、fopen から返されたデータが権限の問題により誤った判断につながる場合があるためです。
Q: WEB ページを読むときにエラーが発生するのはなぜですか?
回答:
1. WEB ページを読むときは、r モードのみを使用してください。
2. 読みたい WEB ページにアクセスできることを確認してください。 Q: ファイル関連の属性を取得するにはどうすればよいですか?
回答: PHP には、filemtime()、fileowner()、filegroup()、filectime()、fileatime() などのファイル属性を取得する一連のメソッドが用意されています。詳細な使用法についてはマニュアルを参照してください。
Q: PHP でファイルを開いた後、C のようにファイルの「カーソル」を配置できますか?
回答: はい、fseek(); を使用します。
Q: ファイルにアクセスするときに他の人がアクセスできないようにしたいのですが、どうすればよいですか?
回答:
1. 他のプログラムを使用して、ファイル操作のページへのユーザーのアクセスを制限できます
2. 詳細なパラメーターと使用方法についてはマニュアルを参照してください
質問: の最初の行を削除する方法ファイルを指定するか、データ行を指定しますか?
回答:
PHP にはそのような操作メソッドはありませんが、それを組み合わせて使用できます。次のコードは、ファイル「test.dat」の 3 行目のデータ (test.dat 内のデータ) を削除することを示しています。ファイルには 3 行以上あります)
$filename="test.dat";//操作ファイルを定義します
$delline=3 //削除する行数
if(!file_exsits($ filename)){
die("指定されたファイルが見つかりません! 操作が中断されました!");
}
$farray=file($filename);//ファイルデータを配列に読み込みます
for($tmpa=0;$Tmpa<) ;count($farray);$Tmpa++){
if(strcmp($Tmpa+1,$delline)==0){
//削除された行を決定する
Continue;
}
//再配置されたデータ
$newfp.= $farray[$Tmpa]. "rn";
}
$fp=@fopen($filename,"a") または die("ファイル $filename を書き込みモードで開くことができませんでした");// ファイルを開きます書き込みモード
@fputs($fp, $newfp) または die("ファイルの書き込みに失敗しました");
@fclose($fp)
?>
よく見てみると、次のコードはファイルの行を削除しています。 、実際には、ファイル操作に関するその他の関連リマインダーも提供されます~
質問: 存在しないファイルを開こうとしたときに、パスの漏洩を避けるためにエラーが表示されないようにするにはどうすればよいですか。 !
答え: ファイルを開いてエラーをブロックするメソッドの前に @ 記号を追加します。@ は、エラー メッセージをブロックするために PHP によって提供される特別な記号です。
または、ステップの前に error_reporting (通常はページの上部) を追加することもできます。 (0); ページ上のすべてのエラー メッセージの表示をブロックするために使用します
推奨されない方法は、php.ini を変更することです (ISP を除く)
Q: 仮想ホストを使用しています。他のユーザーが私のデータを盗むのを防ぎますか?
回答: 制限のために、ISP が php.ini の open_basedir を変更することをお勧めします。
推奨されない ISP 設定は、fopen や file などのファイル操作を disable_function に追加することです。
Q: PHP でファイルを作成した後、FTP でログインして削除できないのはなぜですか? ?
答え: 主に、PHP によって作成されたファイルは WEB ユーザー グループに属しているため、つまり、作成されたファイルは FTP ユーザーに属していないためです。 ! !
この問題の解決策は、PHP プログラムの chmod、unlink などを使用することです。PHP を使用してファイルを作成するときは、chmod ファイルのアクセス許可を覚えておくことをお勧めします。推奨値は 777 です。
Q: テキスト ファイルの使用方法。データウェアハウスとして?一部のゲストブックやフォーラムなどはすべてこれを使用しています。
回答: 実際、これは主にファイルを使用しており、データの読み取りと分割とエクスプロードを組み合わせた典型的な例です。
Q: ファイル名を変更するにはどうすればよいですか?
答え: rename();
Q: ファイルを削除するにはどうすればよいですか?
答え: unlink(); exec("del(rm -vf) filename");
注: rm -vf は Linux で使用します
Q: ファイルをクリアするにはどうすればよいですか?
回答: fopen(filename,"w"); または exec("echo '' > filename"); を使用します。
Q: ファイルの内容を編集するにはどうすればよいですか?
回答: ファイルのコンテンツの削除に関する質問に一度回答したことを覚えています。実際、コンテンツの編集には、コンテンツの削除に基づいた変数の置換のみが必要です。
上記の continue を調べて変更して、変数データを置き換えていただければ幸いです:)