ホームページ  >  記事  >  バックエンド開発  >  PHPファイルシステム関連機能の機能を詳しく解説_PHPチュートリアル

PHPファイルシステム関連機能の機能を詳しく解説_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-15 13:29:44988ブラウズ

ファイル パスについてを説明します。Windows ではパスに / と記号を使用できますが、他のオペレーティング システムでは / 記号のみを使用できます。一貫性を保つために、/ 表記を一律に使用します。

次の PHP ファイル システム関連の関数スクリプトの例では、ディレクトリのリストを表示できます。コードにはコメントが含まれています。

<ol class="dp-xml">
<li class="alt"><span><span class="tag"><strong><font color="#006699"><?</FONT></STRONG></SPAN><SPAN> /*把要读取的目录的全路径名存入一个名字为$dir_name的变量中。 */   </SPAN></SPAN><LI class=""><SPAN> </SPAN><LI class=alt><SPAN>$</SPAN><SPAN class=attribute><FONT color=#ff0000>dir_name</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>"/home/me/"</FONT></SPAN><SPAN>;   </SPAN></SPAN><LI class=""><SPAN> </SPAN><LI class=alt><SPAN>/* 创建一个句柄,其值是打开一个给定目录的结果*/   </SPAN><LI class=""><SPAN> </SPAN><LI class=alt><SPAN>$</SPAN><SPAN class=attribute><FONT color=#ff0000>dir</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>opendir</FONT></SPAN><SPAN>($dir_name);   </SPAN></SPAN><LI class=""><SPAN> </SPAN><LI class=alt><SPAN>/* 建立一个文字块,用以放置列表元素(文件名字)*/   </SPAN><LI class=""><SPAN> </SPAN><LI class=alt><SPAN>$</SPAN><SPAN class=attribute><FONT color=#ff0000>file_list</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>"<ul>"</font></strong></span><span>;   </span></span></li>
<li class=""><span> </span></li>
<li class="alt"><span>/* 使用一个while语句,读取已经打开的目录中的所有元素,如果文件的名字不是“.”或“..”,则显示列表中的名字*/   </span></li>
<li class=""><span> </span></li>
<li class="alt">
<span>while ($</span><span class="attribute"><font color="#ff0000">file_name</font></span><span> = </span><span class="attribute-value"><font color="#0000ff">readdir</font></span><span>($dir)) {   </span>
</li>
<li class=""><span> </span></li>
<li class="alt"><span>if (($file_name != ".") && ($file_name != "..")) {   </span></li>
<li class=""><span> </span></li>
<li class="alt">
<span>$file_list </span><span class="attribute"><font color="#ff0000">.</font></span><span>= </span><span class="attribute-value"><font color="#0000ff">"<li>$file_name"</font></span><span>;   </span>
</li>
<li class=""><span> </span></li>
<li class="alt"><span>}   </span></li>
<li class=""><span> </span></li>
<li class="alt"><span>}   </span></li>
<li class=""><span> </span></li>
<li class="alt">
<span>$file_list </span><span class="attribute"><font color="#ff0000">.</font></span><span>= </span><span class="attribute-value"><font color="#0000ff">"</ul>"</font></span><span>;   </span>
</li>
<li class=""><span> </span></li>
<li class="alt"><span>/*关闭打开的目录,结束PHP模块*/   </span></li>
<li class=""><span> </span></li>
<li class="alt"><span>closedir($dir);   </span></li>
<li class=""><span> </span></li>
<li class="alt">
<span></span><span class="tag"><strong><font color="#006699">?></font></strong></span><span>   </span>
</li>
<li class=""><span> </span></li>
<li class="alt">
<span></span><span class="comments"><font color="#008200"><!-- Start your HTML --></font></span><span>   </span>
</li>
<li class=""><span> </span></li>
<li class="alt">
<span></span><strong><font color="#006699"><span class="tag"><</SPAN><SPAN class=tag-name>HTML</SPAN><SPAN class=tag>></span></font></strong><span>   </span>
</li>
<li class=""><span> </span></li>
<li class="alt">
<span></span><strong><font color="#006699"><span class="tag"><</SPAN><SPAN class=tag-name>HEAD</SPAN><SPAN class=tag>></span></font></strong><span>   </span>
</li>
<li class=""><span> </span></li>
<li class="alt">
<span></span><strong><font color="#006699"><span class="tag"><</SPAN><SPAN class=tag-name>TITLE</SPAN><SPAN class=tag>></span></font></strong><span>Directory Listing</span><strong><font color="#006699"><span class="tag"></</SPAN><SPAN class=tag-name>TITLE</SPAN><SPAN class=tag>></span></font></strong><span>   </span>
</li>
<li class=""><span> </span></li>
<li class="alt">
<span></span><strong><font color="#006699"><span class="tag"></</SPAN><SPAN class=tag-name>HEAD</SPAN><SPAN class=tag>></span></font></strong><span>   </span>
</li>
<li class=""><span> </span></li>
<li class="alt">
<span></span><strong><font color="#006699"><span class="tag"><</SPAN><SPAN class=tag-name>BODY</SPAN><SPAN class=tag>></span></font></strong><span>   </span>
</li>
<li class=""><span> </span></li>
<li class="alt">
<span></span><span class="comments"><font color="#008200"><!-- Use PHP to print the name of the directory you read --></font></span><span>   </span>
</li>
<li class=""><span> </span></li>
<li class="alt">
<span></span><strong><font color="#006699"><span class="tag"><</SPAN><SPAN class=tag-name>P</SPAN><SPAN class=tag>></span></font></strong><span>Files in: </span><span class="tag"><strong><font color="#006699"><?</FONT></STRONG></SPAN><SPAN> </SPAN><SPAN class=tag-name><STRONG><FONT color=#006699>echo</FONT></STRONG></SPAN><SPAN> "$dir_name"; </SPAN><STRONG><FONT color=#006699><SPAN class=tag>?></font></strong></span><span class="tag"></</SPAN><SPAN class=tag-name>p</SPAN><SPAN class=tag>></span><span>   </span>
</li>
<li class=""><span> </span></li>
<li class="alt">
<span></span><span class="comments"><font color="#008200"><!-- Use PHP to print the directory listing --></font></span><span>   </span>
</li>
<li class=""><span> </span></li>
<li class="alt">
<span></span><span class="tag"><strong><font color="#006699"><?</FONT></STRONG></SPAN><SPAN> </SPAN><SPAN class=tag-name><STRONG><FONT color=#006699>echo</FONT></STRONG></SPAN><SPAN> "$file_list"; </SPAN><SPAN class=tag><STRONG><FONT color=#006699>?></font></strong></span><span>   </span>
</li>
<li class=""><span> </span></li>
<li class="alt">
<span></span><strong><font color="#006699"><span class="tag"></</SPAN><SPAN class=tag-name>BODY</SPAN><SPAN class=tag>></span></font></strong><span>   </span>
</li>
<li class=""><span> </span></li>
<li class="alt">
<span></span><strong><font color="#006699"><span class="tag"></</SPAN><SPAN class=tag-name>HTML</SPAN><SPAN class=tag>></span></font></strong><span>  </span>
</li>
</ol>

さて、カタログのリストができました。ファイル (これについては後ほど説明します) またはディレクトリの内容を読み取るには、PHP が実行されているシステム上のユーザーが少なくともそのファイルに対する読み取り権限を持っている必要があることに注意してください。

以下は、ファイルをコピーする方法に関する PHP ファイル システム関連の関数の例です。

この PHP ファイル システム関連関数の例は、ファイル バックアップ システムのプロトタイプです。このスクリプトを実行すると、ファイルが別の場所にコピーされて保存されます。デーモンをわずかに変更して、ユーザーの介入なしで指定した時刻に実行できるようにします。

システムに Lynx がインストールされていると仮定すると、このファイルにアクセスするためのデーモン エントリを作成できます。このファイルにアクセスすると、このスクリプトが実行され、ファイルのコピーが作成されます。次の例では、このスクリプトを 5 時に実行します。 Lynx:

0 5 * * * [ユーザー名] lynx -dump http://localhost/copyfile.php 1>/dev/null 2>&1

CGI バージョンを実行している場合PHP では、Lynx 部分をスキップして、バイナリ ファイルを直接呼び出すことができます:

0 5 * * * [username] php /path/to/copyfile.php 1>/dev/null 2>&1

http://www.bkjia.com/PHPjc/446330.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/446330.html

技術記事

ファイル パスについて説明します。Windows ではパスに / と記号を使用できますが、他のオペレーティング システムでは / 記号のみを使用できます。一貫性を保つために...

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