ディレクトリ パスの解決
PHP スクリプトを使用すると、ディレクトリの作成、ディレクトリの移動、ディレクトリの再評価、ディレクトリの削除などのディレクトリ操作が容易になります。
??一般的に使用されるファイル ディレクトリ パスの形式:
??$unixPath="/var/www/html/index.php";
//UNIX システムの絶対パスは「/」で区切る必要があります
??$ winPath= "C:\Appserv\www\index.php";
//Windows システムの絶対パス。デフォルトでは "" で区切られています
??$winPath2="C:/Appserv/www/index.php";
// Windows システムでは、「/」を使用して区切ることもできます。
??絶対パスと相対パスの使用に注意してください。
PHP ファイルパス関連関数
??basename -- パスのファイル名の部分を返します
??構文: string Basename( string path [, string suffix] )
?? file フルパスの文字列。この関数は基本的なファイル名を返します。ファイル名が接尾辞で終わる場合は、この部分も削除されます。
??dirname -- パスのディレクトリ部分を返します
??構文: string dirname(string path)
??ファイルへのフルパスを含む文字列を指定すると、この関数はファイル名を削除した後のディレクトリを返します。
$path= "/home/httpd/html/index.php";
$file=basename($path);// $file値: "index.php"
$file=basename($ path, ".php"); // $file 値: "index "
$file= dirname($path); // $file 値: "/home/httpd/html"
?>
pathinfo--ファイルパス情報を返す
?? 構文: array pathinfo( string path [, intoptions] )
??pathinfo() パス情報を含む連想配列を返します。次の配列単位が含まれます: dirname、basename、および extension。
$path_parts= pathinfo("/www/htdocs/index.html");
echo $path_parts["dirname"] "n"; "] . "n"; //index.html
echo $path_parts["extension"] . "n"; // html
?>
??realpath -- 正規化された絶対パス名を返します
?? 構文: string realpath( string path )
??realpath() は、すべてのシンボリック リンクを展開し、入力パス内の '/./'、'/../'、および冗長な '/' を処理し、正規化された絶対パス名を返します。返されたパスには、シンボリック リンク、「/./」または「/../」コンポーネントはありません。
??構文: resource opendir( string path [, resource context] )
??ディレクトリハンドルを開きます。これは後続のclosedir()、readdir()に使用できます。 ) と rewinddir( ) が呼び出されています。
??readdir--ディレクトリ ハンドルからエントリを読み取ります
??構文: string readdir(resource dir_handle)
??現在のディレクトリ ポインタ位置にあるファイル名を返します。false は返さず、ポインタを 1 ビット下に移動します。ファイル名はファイル システム内の順序で返されます。
??closedir -- ディレクトリ ハンドルを閉じます
??構文: void Closedir(resource dir_handle)
??dir_handle で指定されたディレクトリ ストリームを閉じます。ストリームは、事前に opendir() で開かれている必要があります。
??rewinddir--rewind ディレクトリ ハンドル
??構文: void rewinddir(resource dir_handle)
??dir_handle で指定されたディレクトリ ストリームをディレクトリの先頭にリセットします。
??構文: float disc_free_space(string directory)
??ディレクトリを含む文字列を指定すると、この関数は対応するファイル システムまたはディスク パーティションは利用可能なバイト数を返します。
??disk_total_space -- ディレクトリの合計ディスク サイズを返します
??構文: float disc_total_space(string directory)
??ディレクトリを含む文字列を指定すると、この関数は対応するファイル システムまたはディスク パーティションに従って返されます。すべてのバイト。
<?php <span>//<span>自定义一个函数dirSize(),统计传入参数的目录大小</span><span>function dirSize($directory) { $dir_size</span>=<span>0</span>;<span>//</span><span>初值为0,用来累加各文件大小从而计算目录大小</span><span>if</span>($dir_handle=@opendir($directory)){ <span>//</span><span>打开目录并判断成功打开</span><span>while</span>($filename=readdir($dir_handle)) { <span>//</span><span>循环遍历目录</span><span>if</span>($filename!=<span>"</span><span>.</span><span>"</span> && $filename!=<span>"</span><span>..</span><span>"</span>) { <span>//</span><span>排除特殊的目录</span>$subFile=$directory.<span>"</span><span>/</span><span>"</span>.$filename; <span>//</span><span>将文件和目录相连</span><span>if</span>(is_dir($subFile)) <span>//</span><span>如果为目录</span>$dir_size+=dirSize($subFile); <span>//</span><span>求子目录的大小</span><span>if</span>(is_file($subFile)) <span>//</span><span>如果是文件</span>$dir_size+=filesize($subFile); <span>//</span><span>求出文件的大小并累加</span><span>} } closedir($dir_handle); </span><span>//</span><span>关闭文件资源</span><span>return</span> $dir_size; <span>//</span><span>返回计算后的目录大小</span><span>} } $dir_size</span>=dirSize(<span>"</span><span>phpMyAdmin</span><span>"</span>); <span>//</span><span>调函数计算目录大小,返回目录大小</span>echo round($dir_size/pow(<span>1024</span>,<span>1</span>),<span>2</span>).<span>"</span><span>KB</span><span>"</span>;<span>//</span><span>将目录字节换为“KB”单位</span>?>ディレクトリの作成と削除mkdir--新しいディレクトリ
??構文: boostkdir(string pathname [,intmode])
??pathnameで指定された新しいディレクトリを作成してみます。
??rmdir--ディレクトリの削除
??構文: boolrmdir(string dirname)
??dirname で指定されたディレクトリを削除してみます。ディレクトリは空である必要があり、適切な権限が必要です。成功した場合は TRUE を返し、失敗した場合は FALSE を返します。
??unlink -- ファイルを削除します
??構文: boolunlink (string filename)
??ファイル名を削除します。 Unix C の unlink() 関数に似ています。成功した場合は TRUE、失敗した場合は FALSE を返します
<?php <span>//<span>自定义函数递归的删除整个目录</span><span>function delDir($directory) { </span><span>if</span>(file_exists($directory)) { <span>//</span><span>判断目录是否存在,如果存在则执行</span><span>if</span>($dir_handle=@opendir($directory)){ <span>//</span><span>打开返回目录资源,并判断</span><span>while</span>($filename=readdir($dir_handle)){ <span>//</span><span>遍历目录读出目录中信息</span><span>if</span>($filename!=<span>"</span><span>.</span><span>"</span> && $filename!=<span>"</span><span>..</span><span>"</span>) { <span>//</span><span>一定要排除两个特殊目录</span>$subFile=$directory.<span>"</span><span>/</span><span>"</span>.$filename;<span>//</span><span>将目录下文件和当前目录相连</span><span>if</span>(is_dir($subFile)) <span>//</span><span>如果是目录条件则成立</span>delDir($subFile); <span>//</span><span>递归调用自己删除子目录</span><span>if</span>(is_file($subFile)) <span>//</span><span>如果是文件条件则成立</span>unlink($subFile); <span>//</span><span>直接删除这个文件</span><span>} } closedir($dir_handle); </span><span>//</span><span>关闭目录资源</span>rmdir($directory); <span>//</span><span>删除空目录</span><span>} } } delDir(</span><span>"</span><span>phpMyAdmin</span><span>"</span>); <span>//</span><span>调用函数,将程序所在目录中phpMyAdmin文件夹删除</span>?>ディレクトリをコピーして移動しますcopy--ファイルをコピーします
??構文: boolcopy (string source, string dest)
??source から dest にファイルをコピーします。成功した場合は TRUE を返し、失敗した場合は FALSE を返します。
??PHP にはディレクトリのコピーと移動に関連する機能はありません。必要に応じて、機能をカスタマイズするだけです。
ファイルの基本操作
ファイルの開閉fopen--打开文件或者URL
??语法:resource fopen( string filename, string mode [, booluse_include_path[, resource zcontext]] )
??fopen() 将filename指定的名字资源绑定到一个流上。如果filename是"scheme://..." 的格式,则被当成一个URL,PHP 将搜索协议处理器(也被称为封装协议)来处理此模式。如果该协议尚未注册封装协议,PHP 将发出一条消息来帮助检查脚本中潜在的问题并将filename当成一个普通的文件名继续执行下去。
??mode参数指定了所要求到该流的访问类型。
??如果也需要在include_path中搜寻文件的话,可以将可选的第三个参数use_include_path设为'1' 或TRUE。
??如果打开失败,本函数返回FALSE。
fclose--关闭一个已打开的文件指针
写入文件
fwrite--写入文件(可安全用于二进制文件)
??语法:intfwrite( resource handle, string string[, intlength] )
??fwrite() 把string的内容写入文件指针handle处。如果指定了length,当写入了length个字节或者写完了string以后,写入就会停止,视乎先碰到哪种情况。返回写入的字符数,出现错误时则返回FALSE
读取文件内容
??fread--读取文件(可安全用于二进制文件)
??string fread( inthandle, intlength )
??fread() 从文件指针handle读取最多length个字节。该函数在读取完length个字节数,或到达EOF 的时候,或(对于网络流)当一个包可用时就会停止读取文件,视乎先碰到哪种情况。
<span>php $handle </span>= fopen(<span>"</span><span>http://www.example.com/</span><span>"</span>, <span>"</span><span>rb</span><span>"</span><span>); $contents </span>= <span>""</span><span>; </span><span>while</span> (!<span>feof($handle)) { $contents .</span>= fread($handle, <span>8192</span><span>); } fclose($handle); </span>?>
fgets--从文件指针中读取一行
??语法:string fgets( inthandle [,intlength])
??从handle指向的文件中读取一行并返回长度最多为length-1 字节的字符串。碰到换行符(包括在返回值中)、EOF 或者已经读取了length -1 字节后停止(看先碰到那一种情况)。如果没有指定length,则默认为1K,或者说1024 字节。
??fgetc--从文件指针中读取字符
??语法:string fgetc( resource handle )
??返回一个包含有一个字符的字符串,该字符从handle指向的文件中得到。碰到EOF 则返回FALSE。
file--把整个文件读入一个数组中
??语法:array file ( string filename [, intuse_include_path[, resource context]] )
??和readfile()一样,只除了file() 将文件作为一个数组返回。数组中的每个单元都是文件中相应的一行,包括换行符在内。如果失败file() 返回FALSE。
??readfile--输出一个文件
??语法:intreadfile( string filename [, booluse_include_path[, resource context]] )
??读入一个文件并写入到输出缓冲。
??返回从文件中读入的字节数。如果出错返回FALSE 并且除非是以@readfile() 形式调用,否则会显示错误信息。
以上就介绍了目录与文件的基本操作一 (44),包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

PHPは動的なWebサイトを構築するために使用され、そのコア関数には次のものが含まれます。1。データベースに接続することにより、動的コンテンツを生成し、リアルタイムでWebページを生成します。 2。ユーザーのインタラクションを処理し、提出をフォームし、入力を確認し、操作に応答します。 3.セッションとユーザー認証を管理して、パーソナライズされたエクスペリエンスを提供します。 4.パフォーマンスを最適化し、ベストプラクティスに従って、ウェブサイトの効率とセキュリティを改善します。

PHPはMySQLIおよびPDO拡張機能を使用して、データベース操作とサーバー側のロジック処理で対話し、セッション管理などの関数を介してサーバー側のロジックを処理します。 1)MySQLIまたはPDOを使用してデータベースに接続し、SQLクエリを実行します。 2)セッション管理およびその他の機能を通じて、HTTPリクエストとユーザーステータスを処理します。 3)トランザクションを使用して、データベース操作の原子性を確保します。 4)SQLインジェクションを防ぎ、例外処理とデバッグの閉鎖接続を使用します。 5)インデックスとキャッシュを通じてパフォーマンスを最適化し、読みやすいコードを書き、エラー処理を実行します。

PHPで前処理ステートメントとPDOを使用すると、SQL注入攻撃を効果的に防ぐことができます。 1)PDOを使用してデータベースに接続し、エラーモードを設定します。 2)準備方法を使用して前処理ステートメントを作成し、プレースホルダーを使用してデータを渡し、メソッドを実行します。 3)結果のクエリを処理し、コードのセキュリティとパフォーマンスを確保します。

PHPとPythonには独自の利点と短所があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1.PHPは、大規模なWebアプリケーションの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンスと機械学習の分野を支配しています。

PHPは、電子商取引、コンテンツ管理システム、API開発で広く使用されています。 1)eコマース:ショッピングカート機能と支払い処理に使用。 2)コンテンツ管理システム:動的コンテンツの生成とユーザー管理に使用されます。 3)API開発:RESTFUL API開発とAPIセキュリティに使用されます。パフォーマンスの最適化とベストプラクティスを通じて、PHPアプリケーションの効率と保守性が向上します。

PHPにより、インタラクティブなWebコンテンツを簡単に作成できます。 1)HTMLを埋め込んでコンテンツを動的に生成し、ユーザー入力またはデータベースデータに基づいてリアルタイムで表示します。 2)プロセスフォームの提出と動的出力を生成して、XSSを防ぐためにHTMLSPECIALCHARSを使用していることを確認します。 3)MySQLを使用してユーザー登録システムを作成し、Password_HashおよびPreprocessingステートメントを使用してセキュリティを強化します。これらの手法を習得すると、Web開発の効率が向上します。

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

PHPは依然として動的であり、現代のプログラミングの分野で重要な位置を占めています。 1)PHPのシンプルさと強力なコミュニティサポートにより、Web開発で広く使用されています。 2)その柔軟性と安定性により、Webフォーム、データベース操作、ファイル処理の処理において顕著になります。 3)PHPは、初心者や経験豊富な開発者に適した、常に進化し、最適化しています。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

ドリームウィーバー CS6
ビジュアル Web 開発ツール

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

WebStorm Mac版
便利なJavaScript開発ツール
