PHP でのファイル操作に関する Q&A
前書き:
PHP はさまざまなデータベースの操作をサポートしており、ファイル操作のための豊富な操作メソッドも備えています。多くの友人の現在の操作は依然としてファイル操作に基づいています。ファイルを操作する際には依然として混乱や疑問がたくさんあります。以下は、私が日々の執筆プロセスで遭遇したファイル操作に関するいくつかの問題と、フォーラムの友人が遭遇した問題をまとめたものです。
Q: 新しいファイルを作成するにはどうすればよいですか?
答え:
1. fopen("作成するファイル名", "パラメータ") を使用します。パラメータは w,w,a,a です。
2. exec("echo '' >) を使用します。 ; 作成されるファイル名"); これは、システム メソッドを使用してファイルを作成することです。タッチ Linux コマンドを使用して作成することもできます。
Q: ファイルを作成できないのはなぜですか?
回答:
1. fopen を使用してファイルを作成する場合、パラメータは正しく使用されていますか?
2. システム権限の問題については、FTP ディレクトリに書き込み権限があるかどうかをウェブマスターに問い合わせてください。 3. FTP 権限の問題では、PHP ファイルに書き込みたいファイルが存在するディレクトリに書き込み権限があることを確認する必要があります。つまり、FTP ソフトウェアにログインした後、他のグループに書き込み権限が必要です。
の場合。そうでない場合は、権限を変更して再試行してください。
Q: ファイルを配列に読み取るにはどうすればよいですか?
答え: ファイル機能を使用します。
Q: すべてのファイルを読み出すにはどうすればよいですか?
答え:
1. fread($fp) を使用します。
2. PHP バージョンが 4.3.0 以降の場合、file_get_contents() を使用できます。存在しますか?
答え: 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. flock() を使用して、詳細なパラメータと使用方法を参照してください。 : ファイルの最初の行を削除する方法、またはデータの行を指定しますか?
回答:
PHP にはそのような操作メソッドはありませんが、それを組み合わせて使用できます。次のコードは、ファイル「test.dat」の 3 行目のデータ (次のデータ) を削除することを示しています。 test.dat ファイルは 3 行以上です)
$filename="test.dat";//操作ファイルを定義します
$delline=3; // 行数削除される
if(!file_exsits( $filename)){
die("指定されたファイルが見つかりませんでした! 操作は中断されました!")
}
$farray=file($filename); );//ファイル データを配列
に読み取ります for($tmpa=0;$Tmpa
//削除された行を判定
Continue;
//再編成されたデータ
$newfp.=$farray[$Tmpa]."rn";
🎜>$fp=@fopen($filename ,"a") または die("ファイル $filename を書き込みモードで開くことができませんでした");//ファイルを書き込みモードで開きます
@fputs($fp,$ newfp) または die("ファイルの書き込みに失敗しました") ;
@fclose($fp);
?> 上記のコードは、ファイルの行を削除する方法を示していますが、よく見てみると、 ~
Q: 存在しないファイルを開こうとしたときに、パスの漏洩を避けるためにエラーが表示されないようにするにはどうすればよいですか。 !
答え: ファイルを開いてエラーをブロックするメソッドの前に @ 記号を追加します。@ は、エラー メッセージをブロックするために 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 ファイルのアクセス許可を覚えておくことをお勧めします。
Q:テキスト ファイルをデータ ウェアハウスとして使用するにはどうすればよいですか?一部のゲストブックやフォーラムなどはすべてこれを使用しています。
回答: 実際、これは主にファイルを使用し、データの読み取りとセグメント化をエクスプロージョンと組み合わせた典型的な例です。
Q: ファイル名を変更するにはどうすればよいですか?
答え: rename();
Q: ファイルを削除するにはどうすればよいですか?
回答: unlink(); exec("del(rm -vf) ファイル名");
注: rm -vf は Linux で使用します
Q: ファイルをクリアするにはどうすればよいですか?
回答: fopen(filename,"w"); または exec("echo '' > filename"); を使用します。
Q: ファイルの内容を編集するにはどうすればよいですか?
回答: ファイルのコンテンツの削除に関する質問に一度回答したことを覚えています。実際、コンテンツの編集には、コンテンツの削除に基づいた変数の置換のみが必要です。
上記の continue を調べて変更し、変数データを置き換えていただければ幸いです:)