{"id":366,"date":"2014-02-17T10:53:48","date_gmt":"2014-02-17T02:53:48","guid":{"rendered":"http:\/\/www.zyuns.com\/?p=366"},"modified":"2015-02-15T20:46:33","modified_gmt":"2015-02-15T12:46:33","slug":"php-wen-jian-wen-jian-jia-cao-zuo","status":"publish","type":"post","link":"https:\/\/www.siediyer.cn\/?p=366","title":{"rendered":"PHP\u6587\u4ef6 \u6587\u4ef6\u5939\u64cd\u4f5c"},"content":{"rendered":"<p>&lt;?php<br \/>\n$file = &#8220;.\/test\/f1.php&#8221;;<\/p>\n<p>\/\/===============\u5224\u65ad\u6587\u4ef6\u80fd\u4e0d\u80fd\u8bfb\u53d6(\u6743\u9650\u95ee\u9898),\u6216\u8005\u5b58\u4e0d\u5b58\u5728<br \/>\nif (is_readable($file) == false) {<br \/>\necho &#8220;&lt;br\/&gt;&#8221;;<br \/>\ndie(&#8216;no&#8217;);<br \/>\n}<\/p>\n<p>\/\/===============\u5224\u65ad\u6587\u4ef6\u5b58\u4e0d\u5b58\u5728<br \/>\nif (file_exists($file) == false) {<br \/>\necho &#8220;&lt;br\/&gt;&#8221;;<br \/>\ndie(&#8216;no file&#8217;);<br \/>\n}<\/p>\n<p>\/\/======================================================\u8bfb\u53d6\u6587\u4ef6\u5185\u5bb9<br \/>\n\/\/\u65b9\u6cd5\u4e00<br \/>\n$dataString = file_get_contents($file);<br \/>\necho &#8220;&lt;br\/&gt;1&#8221;;<br \/>\nvar_dump($dataString);<br \/>\necho htmlentities($dataString);<\/p>\n<p>\/\/\u65b9\u6cd5\u4e8c\uff0c\u8be5\u65b9\u6cd5\u5982\u679c\u6587\u4ef6\u5185\u5bb9\u7a7a\u4f1a\u62a5\u9519<br \/>\n$fJuBing = fopen($file, &#8216;r&#8217;); \/\/\u521b\u5efa\u6307\u5b9a\u6587\u4ef6\u8bfb\u64cd\u4f5c\u7684\u53e5\u67c4<br \/>\n$dataString = fread($fJuBing, filesize($file));<br \/>\nfclose($fJuBing);<br \/>\necho &#8220;&lt;br\/&gt;2&#8221;;<br \/>\nvar_dump($dataString);<br \/>\necho htmlentities($dataString);<br \/>\n\/*<br \/>\nfopen()\u65b9\u6cd5\u7684\u7b2c\u4e8c\u4e2a\u53c2\u6570\u53ef\u4ee5\u9009\u62e9\u4ee5\u4e0b\u503c<br \/>\n&#8220;r&#8221; \u53ea\u8bfb\u65b9\u5f0f\u6253\u5f00\uff0c\u5c06\u6587\u4ef6\u6307\u9488\u6307\u5411\u6587\u4ef6\u5934\u3002<br \/>\n&#8220;r+&#8221; \u8bfb\u5199\u65b9\u5f0f\u6253\u5f00\uff0c\u5c06\u6587\u4ef6\u6307\u9488\u6307\u5411\u6587\u4ef6\u5934\u3002<br \/>\n&#8220;w&#8221; \u5199\u5165\u65b9\u5f0f\u6253\u5f00\uff0c\u5c06\u6587\u4ef6\u6307\u9488\u6307\u5411\u6587\u4ef6\u5934\u5e76\u5c06\u6587\u4ef6\u5927\u5c0f\u622a\u4e3a\u96f6\u3002\u5982\u679c\u6587\u4ef6\u4e0d\u5b58\u5728\u5219\u5c1d\u8bd5\u521b\u5efa\u4e4b\u3002<br \/>\n&#8220;w+&#8221; \u8bfb\u5199\u65b9\u5f0f\u6253\u5f00\uff0c\u5c06\u6587\u4ef6\u6307\u9488\u6307\u5411\u6587\u4ef6\u5934\u5e76\u5c06\u6587\u4ef6\u5927\u5c0f\u622a\u4e3a\u96f6\u3002\u5982\u679c\u6587\u4ef6\u4e0d\u5b58\u5728\u5219\u5c1d\u8bd5\u521b\u5efa\u4e4b\u3002<br \/>\n&#8220;a&#8221; \u5199\u5165\u65b9\u5f0f\u6253\u5f00\uff0c\u5c06\u6587\u4ef6\u6307\u9488\u6307\u5411\u6587\u4ef6\u672b\u5c3e\u3002\u5982\u679c\u6587\u4ef6\u4e0d\u5b58\u5728\u5219\u5c1d\u8bd5\u521b\u5efa\u4e4b\u3002<br \/>\n&#8220;a+&#8221; \u8bfb\u5199\u65b9\u5f0f\u6253\u5f00\uff0c\u5c06\u6587\u4ef6\u6307\u9488\u6307\u5411\u6587\u4ef6\u672b\u5c3e\u3002\u5982\u679c\u6587\u4ef6\u4e0d\u5b58\u5728\u5219\u5c1d\u8bd5\u521b\u5efa\u4e4b\u3002<br \/>\n&#8220;x&#8221; \u521b\u5efa\u5e76\u4ee5\u5199\u5165\u65b9\u5f0f\u6253\u5f00\uff0c\u5c06\u6587\u4ef6\u6307\u9488\u6307\u5411\u6587\u4ef6\u5934\u3002\u5982\u679c\u6587\u4ef6\u5df2\u5b58\u5728\uff0c\u5219 fopen() \u8c03\u7528\u5931\u8d25\u5e76\u8fd4\u56de FALSE\uff0c\u5e76\u751f\u6210\u4e00\u6761 E_WARNING \u7ea7\u522b\u7684\u9519\u8bef\u4fe1\u606f\u3002\u5982\u679c\u6587\u4ef6\u4e0d\u5b58\u5728\u5219\u5c1d\u8bd5\u521b\u5efa\u4e4b\u3002<br \/>\n\u8fd9\u548c\u7ed9\u5e95\u5c42\u7684 open(2) \u7cfb\u7edf\u8c03\u7528\u6307\u5b9a O_EXCL|O_CREAT \u6807\u8bb0\u662f\u7b49\u4ef7\u7684\u3002<br \/>\n\u6b64\u9009\u9879\u88ab PHP 4.3.2 \u4ee5\u53ca\u4ee5\u540e\u7684\u7248\u672c\u6240\u652f\u6301\uff0c\u4ec5\u80fd\u7528\u4e8e\u672c\u5730\u6587\u4ef6\u3002<br \/>\n&#8220;x+&#8221; \u521b\u5efa\u5e76\u4ee5\u8bfb\u5199\u65b9\u5f0f\u6253\u5f00\uff0c\u5c06\u6587\u4ef6\u6307\u9488\u6307\u5411\u6587\u4ef6\u5934\u3002\u5982\u679c\u6587\u4ef6\u5df2\u5b58\u5728\uff0c\u5219 fopen() \u8c03\u7528\u5931\u8d25\u5e76\u8fd4\u56de FALSE\uff0c\u5e76\u751f\u6210\u4e00\u6761 E_WARNING \u7ea7\u522b\u7684\u9519\u8bef\u4fe1\u606f\u3002\u5982\u679c\u6587\u4ef6\u4e0d\u5b58\u5728\u5219\u5c1d\u8bd5\u521b\u5efa\u4e4b\u3002<br \/>\n\u8fd9\u548c\u7ed9\u5e95\u5c42\u7684 open(2) \u7cfb\u7edf\u8c03\u7528\u6307\u5b9a O_EXCL|O_CREAT \u6807\u8bb0\u662f\u7b49\u4ef7\u7684\u3002<br \/>\n\u6b64\u9009\u9879\u88ab PHP 4.3.2 \u4ee5\u53ca\u4ee5\u540e\u7684\u7248\u672c\u6240\u652f\u6301\uff0c\u4ec5\u80fd\u7528\u4e8e\u672c\u5730\u6587\u4ef6\u3002<br \/>\n*\/<\/p>\n<p>\/\/\u65b9\u6cd5\u4e09<br \/>\n$dataString = implode(&#8221;, file($file));<br \/>\necho &#8220;&lt;br\/&gt;3&#8221;;<br \/>\nvar_dump($dataString);<br \/>\necho htmlentities($dataString);<\/p>\n<p>\/\/===============\u5224\u65ad\u6587\u4ef6\u80fd\u4e0d\u80fd\u5199\u5165<br \/>\nif (is_writable($file) == false) {<br \/>\necho &#8220;&lt;br\/&gt;&#8221;;<br \/>\ndie(&#8220;can`t write&#8221;);<br \/>\n}<\/p>\n<p>\/\/======================================================\u5f80\u6587\u4ef6\u4e2d\u5199\u5165\u5185\u5bb9\uff0c\u539f\u5185\u5bb9\u5c06\u88ab\u8986\u76d6\uff0c\u5e76\u4e14\u5982\u679c\u6587\u4ef6\u4e0d\u5b58\u5728\u5c06\u5c1d\u8bd5\u521b\u5efa<br \/>\n$writeData = &#8216;i want&#8217;;<br \/>\n\/\/\u65b9\u6cd5\u4e00<br \/>\nfile_put_contents($file, $writeData);<\/p>\n<p>\/\/\u65b9\u6cd5\u4e8c<br \/>\n$fJuBing = fopen($file, &#8216;w&#8217;); \/\/\u521b\u5efa\u6307\u5b9a\u6587\u4ef6\u5199\u64cd\u4f5c\u7684\u53e5\u67c4<br \/>\nfwrite($fJuBing, $writeData);<br \/>\nfclose($fJuBing);<\/p>\n<p>\/\/===============\u6709\u65f6\u6267\u884c\u5199\u5165\u64cd\u4f5c\u65f6\u9700\u8981\u9501\u5b9a\u6587\u4ef6<br \/>\n$fJuBing = fopen($file, &#8216;w&#8217;);<br \/>\nif (flock($fJuBing, LOCK_EX)) {<br \/>\nfwrite($fJuBing, $writeData);<br \/>\n\/\/\u91ca\u653e\u9501\u5b9a<br \/>\nflock($fJuBing, LOCK_UN);<br \/>\n} else {<br \/>\necho &#8220;&lt;br\/&gt;&#8221;;<br \/>\necho &#8220;can`t locking file!&#8221;;<br \/>\n}<br \/>\nfclose($fJuBing);<br \/>\n\/*<br \/>\nflock()\u65b9\u6cd5\u7684\u7b2c\u4e8c\u4e2a\u53c2\u6570\u53ef\u4ee5\u9009\u62e9\u4ee5\u4e0b\u503c<br \/>\nLOCK_SH,\uff08PHP 4.0.1 \u4ee5\u524d\u7684\u7248\u672c\u4e2d\u8bbe\u7f6e\u4e3a 1\uff09\u5171\u4eab\u9501\u5b9a\uff08\u8bfb\u53d6\u7684\u7a0b\u5e8f\uff09\u3002<br \/>\nLOCK_EX,\uff08PHP 4.0.1 \u4ee5\u524d\u7684\u7248\u672c\u4e2d\u8bbe\u7f6e\u4e3a 2\uff09\u72ec\u5360\u9501\u5b9a\uff08\u5199\u5165\u7684\u7a0b\u5e8f\uff09\u3002<br \/>\nLOCK_UN,\uff08PHP 4.0.1 \u4ee5\u524d\u7684\u7248\u672c\u4e2d\u8bbe\u7f6e\u4e3a 3\uff09\u91ca\u653e\u9501\u5b9a\uff08\u65e0\u8bba\u5171\u4eab\u6216\u72ec\u5360\uff09\u3002<br \/>\nLOCK_NB,\uff08PHP 4.0.1 \u4ee5\u524d\u7684\u7248\u672c\u4e2d\u8bbe\u7f6e\u4e3a 4\uff09\u4f7fflock()\u5728\u9501\u5b9a\u65f6\u4e0d\u5835\u585e\u3002<br \/>\n*\/<\/p>\n<p>\/\/======================================================\u5220\u9664\u6587\u4ef6<br \/>\n\/*<br \/>\n$file2 = &#8220;.\/test\/f2.php&#8221;;<br \/>\nif (unlink($file2)) {\/\/\u6709\u65f6\u6587\u4ef6\u4e0d\u5b58\u5728\u5220\u9664\u65f6\u4f1a\u62a5\u9519\uff0c\u6700\u597d\u52a0\u4e0a@\u53d8\u6210@unlink($file2)<br \/>\necho &#8220;&lt;br\/&gt;&#8221;;<br \/>\necho &#8220;file has been delect&#8221;;<br \/>\n} else {<br \/>\necho &#8220;&lt;br\/&gt;&#8221;;<br \/>\necho &#8220;file can`t been delect&#8221;;<br \/>\n}<br \/>\n*\/<\/p>\n<p>\/\/======================================================\u590d\u5236\u6587\u4ef6<br \/>\n$file = &#8220;.\/test\/f1.php&#8221;;<br \/>\n$newfile = &#8220;.\/test\/f2.php&#8221;; #\u8fd9\u4e2a\u6587\u4ef6\u7236\u6587\u4ef6\u5939\u5fc5\u987b\u80fd\u5199\uff0c\u5982\u679c\u8be5\u6587\u4ef6\u4e0d\u5b58\u5728\u5219\u5c1d\u8bd5\u521b\u5efa\u518d\u590d\u5236<br \/>\nif (copy($file, $newfile)) {<br \/>\necho &#8220;&lt;br\/&gt;&#8221;;<br \/>\necho &#8216;ok&#8217;;<br \/>\n}<\/p>\n<p>\/\/===============\u83b7\u53d6\u6587\u4ef6\u6700\u8fd1\u4fee\u6539\u65f6\u95f4\uff0c\u8fd4\u56de\u7684\u662funix\u7684\u65f6\u95f4\u6233,\u8fd9\u5728\u7f13\u5b58\u6280\u672f\u5e38\u7528<br \/>\necho &#8220;&lt;br\/&gt;&#8221;;<br \/>\n\/\/echo date(&#8216;r&#8217;, filemtime($file));<\/p>\n<p>\/\/===============(\u975ewindows\u7cfb\u7edf),fileperms()\u83b7\u53d6\u6587\u4ef6\u7684\u6743\u9650<br \/>\necho &#8220;&lt;br\/&gt;&#8221;;<br \/>\necho substr(sprintf(&#8216;%o&#8217;, fileperms($file)), -4);<\/p>\n<p>\/\/===============filesize()\u8fd4\u56de\u6587\u4ef6\u5927\u5c0f\u7684\u5b57\u8282\u6570:<br \/>\necho &#8220;&lt;br\/&gt;&#8221;;<br \/>\necho filesize($file);<\/p>\n<p>\/\/===============\u4ee5\u6570\u7ec4\u5f62\u5f0f\u8fd4\u56de\u6587\u4ef6\u7684\u5168\u90e8\u4fe1\u606fstat()\u51fd\u6570:<br \/>\necho &#8220;&lt;br\/&gt;&#8221;;<br \/>\nvar_dump(stat($file));<\/p>\n<p>$dir = &#8220;.\/test\/t1&#8221;;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<br \/>\n\/\/===============\u5224\u65ad\u8be5\u8def\u5f84\u6587\u4ef6\u5939\u662f\u5426\u5b58\u5728<br \/>\nif (is_dir($dir) == false) {<br \/>\necho &#8220;&lt;br&gt;&#8221;;<br \/>\necho &#8220;no&#8221;;<br \/>\n}<\/p>\n<p>\/\/======================================================\u521b\u5efa\u6587\u4ef6\u5939<br \/>\n\/\/\u7b2c\u4e8c\u4e2a\u53c2\u6570\u53ef\u4ee5\u4e0d\u5199\uff0c\u9ed8\u8ba4\u662f\u6700\u5927\u6743\u9650 0777<br \/>\n\/\/\u4e0d\u80fd\u4e00\u6b21\u8fde\u7eed\u521b\u5efa\uff0c\u5373\u8981\u521b\u5efa\u7684\u8def\u5f84\u6587\u4ef6\u5939\u7684\u4e0a\u7ea7\u6587\u4ef6\u5939\u5fc5\u987b\u5b58\u5728<br \/>\nmkdir($dir, 0777);<br \/>\n\/\/mkdir($dir);<\/p>\n<p>\/\/===============\u8fd4\u56de\u5f53\u524d\u8def\u5f84\u6587\u4ef6\u5939\u7684\u6587\u4ef6\u5939\u540d<br \/>\necho &#8220;&lt;br&gt;&#8221;;<br \/>\necho basename($dir);<\/p>\n<p>\/\/===============\u8fd4\u56de\u53bb\u6389\u8def\u5f84\u4e2d\u6700\u540e\u4e00\u4e2a\u6587\u4ef6\u5939\u540d\u6216\u6587\u4ef6\u540d\u540e\u7684\u8def\u5f84\uff0c\u6210\u529f\u8fd4\u56de\u5b57\u7b26\u4e32\uff0c\u5426\u5219\u8fd4\u56de FALSE \u3002<br \/>\necho &#8220;&lt;br&gt;&#8221;;<br \/>\necho dirname($dir);<\/p>\n<p>\/\/===============\u8fd4\u56de\u7ed9\u5b9a\u76ee\u5f55\u6587\u4ef6\u5939\u6216\u6587\u4ef6\u7684\u7edd\u5bf9\u8def\u5f84<br \/>\necho &#8220;&lt;br&gt;&#8221;;<br \/>\necho realpath($dir);<\/p>\n<p>\/\/===============\u83b7\u53d6\u6307\u5b9a\u8def\u5f84\u6587\u4ef6\u5939\u4e0b\u6240\u6709\u6587\u4ef6\u5939\u540d\uff0c\u6587\u4ef6\u540d<br \/>\n$dirJuBing = opendir($dir); \/\/\u521b\u5efa\u4e00\u4e2a\u6253\u5f00\u6307\u5b9a\u6587\u4ef6\u5939\u7684\u53e5\u67c4<br \/>\nwhile ($fileName = readdir($dirJuBing)) { \/\/\u5faa\u73af\u6ca5\u904d\u8fd4\u56de\u8be5\u76ee\u5f55\u6587\u4ef6\u5939\u4e0b\u6bcf\u4e00\u4e2a\u6587\u4ef6\u540d\u6587\u4ef6\u5939\u540d\u7684\u5b57\u7b26\u4e32\uff0c\u524d\u4e24\u4e2a\u8fd4\u56de\u7684\u5b57\u7b26\u4e32\u662f&#8221;.&#8221;\u548c&#8221;..&#8221; \uff0c\u5c31\u7b97\u662f\u7a7a\u6587\u4ef6\u5939\u4e5f\u8fd4\u56de\u8fd9\u4e24\u4e2a\u5b57\u7b26\u4e32<br \/>\necho &#8220;&lt;br\/&gt;&#8221;;<br \/>\necho $fileName;<br \/>\n}<br \/>\nclosedir($dirJuBing);<\/p>\n<p>\/\/======================================================\u91cd\u547d\u540d\u6587\u4ef6\u5939(\u6216\u6587\u4ef6)<br \/>\n\/\/\u6216\u8005\u5c06\u6307\u5b9a\u8def\u5f84\u6587\u4ef6\u5939(\u6216\u6587\u4ef6)\u79fb\u52a8\u5e76\u91cd\u547d\u540d\u6210\u53e6\u4e00\u8def\u5f84\u6587\u4ef6\u5939(\u6216\u6587\u4ef6)\uff0c\u53ea\u80fd\u6587\u4ef6\u5939\u5bf9\u6587\u4ef6\u5939\uff0c\u6587\u4ef6\u5bf9\u6587\u4ef6<br \/>\n$dir = &#8220;.\/test\/t1&#8221;;<br \/>\n$newDirName = &#8220;.\/test\/t2\/t3&#8243;;<br \/>\nrename($dir, $newDirName); \/\/\u539f&#8221;.\/test&#8221;\u4e0b\u7684t1\u6587\u4ef6\u5939\u79fb\u52a8\u5e76\u91cd\u547d\u540d\u6210&#8221;.\/test\/t2&#8243;\u4e0b\u7684t3\u6587\u4ef6\u5939<\/p>\n<p>\/\/======================================================\u5220\u9664\u6307\u5b9a\u8def\u5f84\u6587\u4ef6\u5939<br \/>\n\/\/rmdir($dir);<br \/>\n?&gt;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&lt;?php $file = &#8220;.\/test\/f1.php&#8221;; \/\/======= [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-366","post","type-post","status-publish","format-standard","hentry","category-php"],"_links":{"self":[{"href":"https:\/\/www.siediyer.cn\/index.php?rest_route=\/wp\/v2\/posts\/366","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.siediyer.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.siediyer.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.siediyer.cn\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.siediyer.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=366"}],"version-history":[{"count":1,"href":"https:\/\/www.siediyer.cn\/index.php?rest_route=\/wp\/v2\/posts\/366\/revisions"}],"predecessor-version":[{"id":417,"href":"https:\/\/www.siediyer.cn\/index.php?rest_route=\/wp\/v2\/posts\/366\/revisions\/417"}],"wp:attachment":[{"href":"https:\/\/www.siediyer.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=366"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.siediyer.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=366"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.siediyer.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=366"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}