php 递归计数文件
返回包括所有子目录的整个文件数。
<span style="color: #000000; font-weight: bold;">function</span> count_files<span style="color: #66cc66;">(</span><span style="color: #0000ff;">$path</span><span style="color: #66cc66;">)</span> <span style="color: #66cc66;">{</span>
<span style="color: #808080; font-style: italic;">// (Ensure that the path contains an ending slash)</span>
<span style="color: #0000ff;">$file_count</span> = <span style="color: #cc66cc;">0</span>;
<span style="color: #0000ff;">$dir_handle</span> = <a href="http://www.php.net/opendir"><span style="color: #000066;">opendir</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$path</span><span style="color: #66cc66;">)</span>;
<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">(</span>!<span style="color: #0000ff;">$dir_handle</span><span style="color: #66cc66;">)</span> <span style="color: #b1b100;">return</span> <span style="color: #cc66cc;">-1</span>;
<span style="color: #b1b100;">while</span> <span style="color: #66cc66;">(</span><span style="color: #0000ff;">$file</span> = <a href="http://www.php.net/readdir"><span style="color: #000066;">readdir</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$dir_handle</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">)</span> <span style="color: #66cc66;">{</span>
<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">(</span><span style="color: #0000ff;">$file</span> == <span style="color: #ff0000;">'.'</span> || <span style="color: #0000ff;">$file</span> == <span style="color: #ff0000;">'..'</span><span style="color: #66cc66;">)</span> <span style="color: #b1b100;">continue</span>;
<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">(</span><a href="http://www.php.net/is_dir"><span style="color: #000066;">is_dir</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$path</span> . <span style="color: #0000ff;">$file</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">{</span>
<span style="color: #0000ff;">$file_count</span> += count_files<span style="color: #66cc66;">(</span><span style="color: #0000ff;">$path</span> . <span style="color: #0000ff;">$file</span> . DIRECTORY_SEPARATOR<span style="color: #66cc66;">)</span>;
<span style="color: #66cc66;">}</span>
<span style="color: #b1b100;">else</span> <span style="color: #66cc66;">{</span>
<span style="color: #0000ff;">$file_count</span>++; <span style="color: #808080; font-style: italic;">// increase file count</span>
<span style="color: #66cc66;">}</span>
<span style="color: #66cc66;">}</span>
<a href="http://www.php.net/closedir"><span style="color: #000066;">closedir</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$dir_handle</span><span style="color: #66cc66;">)</span>;
<span style="color: #b1b100;">return</span> <span style="color: #0000ff;">$file_count</span>;
<span style="color: #66cc66;">}</span>
php 以。。开始
测试文本是否以给定字符串开头。
<span style="color: #808080; font-style: italic;">/**
* StartsWith
* Tests if a text starts with an given string.
*
* @param string
* @param string
* @return bool
*/</span>
<span style="color: #000000; font-weight: bold;">function</span> StartsWith<span style="color: #66cc66;">(</span><span style="color: #0000ff;">$Haystack</span>, <span style="color: #0000ff;">$Needle</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">{</span>
<span style="color: #808080; font-style: italic;">// Recommended version, using strpos</span>
<span style="color: #b1b100;">return</span> <a href="http://www.php.net/strpos"><span style="color: #000066;">strpos</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$Haystack</span>, <span style="color: #0000ff;">$Needle</span><span style="color: #66cc66;">)</span> === <span style="color: #cc66cc;">0</span>;
<span style="color: #66cc66;">}</span>
<span style="color: #808080; font-style: italic;">// Another way, using substr</span>
<span style="color: #000000; font-weight: bold;">function</span> StartsWithOld<span style="color: #66cc66;">(</span><span style="color: #0000ff;">$Haystack</span>, <span style="color: #0000ff;">$Needle</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">{</span>
<span style="color: #b1b100;">return</span> <a href="http://www.php.net/substr"><span style="color: #000066;">substr</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$Haystack</span>, <span style="color: #cc66cc;">0</span>, <a href="http://www.php.net/strlen"><span style="color: #000066;">strlen</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$Needle</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">)</span> == <span style="color: #0000ff;">$Needle</span>;
<span style="color: #66cc66;">}</span>
php 史努比的例子
显示如何使用<a href=\"http://snoopy.sourceforge.net/\"> Snoopy类</a>向其他网站发送HTTP请求的示例。
<span style="color: #808080; font-style: italic;">/*
You need the snoopy.class.php from
http://snoopy.sourceforge.net/
*/</span>
<span style="color: #b1b100;">include</span><span style="color: #66cc66;">(</span><span style="color: #ff0000;">"snoopy.class.php"</span><span style="color: #66cc66;">)</span>;
<span style="color: #0000ff;">$snoopy</span> = <span style="color: #000000; font-weight: bold;">new</span> Snoopy;
<span style="color: #808080; font-style: italic;">// need an proxy?:</span>
<span style="color: #808080; font-style: italic;">//$snoopy->proxy_host = "my.proxy.host";</span>
<span style="color: #808080; font-style: italic;">//$snoopy->proxy_port = "8080";</span>
<span style="color: #808080; font-style: italic;">// set browser and referer:</span>
<span style="color: #0000ff;">$snoopy</span>-><span style="color: #006600;">agent</span> = <span style="color: #ff0000;">"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"</span>;
<span style="color: #0000ff;">$snoopy</span>-><span style="color: #006600;">referer</span> = <span style="color: #ff0000;">"http://www.jonasjohn.de/"</span>;
<span style="color: #808080; font-style: italic;">// set some cookies:</span>
<span style="color: #0000ff;">$snoopy</span>-><span style="color: #006600;">cookies</span><span style="color: #66cc66;">[</span><span style="color: #ff0000;">"SessionID"</span><span style="color: #66cc66;">]</span> = <span style="color: #ff0000;">'238472834723489'</span>;
<span style="color: #0000ff;">$snoopy</span>-><span style="color: #006600;">cookies</span><span style="color: #66cc66;">[</span><span style="color: #ff0000;">"favoriteColor"</span><span style="color: #66cc66;">]</span> = <span style="color: #ff0000;">"blue"</span>;
<span style="color: #808080; font-style: italic;">// set an raw-header:</span>
<span style="color: #0000ff;">$snoopy</span>-><span style="color: #006600;">rawheaders</span><span style="color: #66cc66;">[</span><span style="color: #ff0000;">"Pragma"</span><span style="color: #66cc66;">]</span> = <span style="color: #ff0000;">"no-cache"</span>;
<span style="color: #808080; font-style: italic;">// set some internal variables:</span>
<span style="color: #0000ff;">$snoopy</span>-><span style="color: #006600;">maxredirs</span> = <span style="color: #cc66cc;">2</span>;
<span style="color: #0000ff;">$snoopy</span>-><span style="color: #006600;">offsiteok</span> = <span style="color: #000000; font-weight: bold;">false</span>;
<span style="color: #0000ff;">$snoopy</span>-><span style="color: #006600;">expandlinks</span> = <span style="color: #000000; font-weight: bold;">false</span>;
<span style="color: #808080; font-style: italic;">// set username and password (optional)</span>
<span style="color: #808080; font-style: italic;">//$snoopy->user = "joe";</span>
<span style="color: #808080; font-style: italic;">//$snoopy->pass = "bloe";</span>
<span style="color: #808080; font-style: italic;">// fetch the text of the website www.google.com:</span>
<span style="color: #b1b100;">if</span><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$snoopy</span>-><span style="color: #006600;">fetchtext</span><span style="color: #66cc66;">(</span><span style="color: #ff0000;">"http://www.google.com"</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">{</span>
<span style="color: #808080; font-style: italic;">// other methods: fetch, fetchform, fetchlinks, submittext and submitlinks</span>
<span style="color: #808080; font-style: italic;">// response code:</span>
<a href="http://www.php.net/print"><span style="color: #000066;">print</span></a> <span style="color: #ff0000;">"response code: "</span>.<span style="color: #0000ff;">$snoopy</span>-><span style="color: #006600;">response_code</span>.<span style="color: #ff0000;">"<br/><span style="color: #000099; font-weight: bold;">\n</span>"</span>;
<span style="color: #808080; font-style: italic;">// print the headers:</span>
<a href="http://www.php.net/print"><span style="color: #000066;">print</span></a> <span style="color: #ff0000;">"<b>Headers:</b><br/>"</span>;
<span style="color: #b1b100;">while</span><span style="color: #66cc66;">(</span><a href="http://www.php.net/list"><span style="color: #000066;">list</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$key</span>,<span style="color: #0000ff;">$val</span><span style="color: #66cc66;">)</span> = <a href="http://www.php.net/each"><span style="color: #000066;">each</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$snoopy</span>-><span style="color: #006600;">headers</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">{</span>
<a href="http://www.php.net/print"><span style="color: #000066;">print</span></a> <span style="color: #0000ff;">$key</span>.<span style="color: #ff0000;">": "</span>.<span style="color: #0000ff;">$val</span>.<span style="color: #ff0000;">"<br/><span style="color: #000099; font-weight: bold;">\n</span>"</span>;
<span style="color: #66cc66;">}</span>
<a href="http://www.php.net/print"><span style="color: #000066;">print</span></a> <span style="color: #ff0000;">"<br/><span style="color: #000099; font-weight: bold;">\n</span>"</span>;
<span style="color: #808080; font-style: italic;">// print the texts of the website:</span>
<a href="http://www.php.net/print"><span style="color: #000066;">print</span></a> <span style="color: #ff0000;">"<pre>"</span>.<a href="http://www.php.net/htmlspecialchars"><span style="color: #000066;">htmlspecialchars</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$snoopy</span>-><span style="color: #006600;">results</span><span style="color: #66cc66;">)</span>.<span style="color: #ff0000;">"</pre><span style="color: #000099; font-weight: bold;">\n</span>"</span>;
<span style="color: #66cc66;">}</span>
<span style="color: #b1b100;">else</span> <span style="color: #66cc66;">{</span>
<a href="http://www.php.net/print"><span style="color: #000066;">print</span></a> <span style="color: #ff0000;">"Snoopy: error while fetching document: "</span>.<span style="color: #0000ff;">$snoopy</span>-><span style="color: #006600;">error</span>.<span style="color: #ff0000;">"<span style="color: #000099; font-weight: bold;">\n</span>"</span>;
<span style="color: #66cc66;">}</span>
php 简单的MS-SQL示例
这是一个关于如何使用PHP查询Microsoft SQL Server <br/>的简单示例。
<span style="color: #808080; font-style: italic;">/*
** Connect to database:
*/</span>
<span style="color: #808080; font-style: italic;">// Connect to the database (host, username, password)</span>
<span style="color: #0000ff;">$con</span> = mssql_connect<span style="color: #66cc66;">(</span><span style="color: #ff0000;">'localhost'</span>,<span style="color: #ff0000;">'admin'</span>,<span style="color: #ff0000;">'foo'</span><span style="color: #66cc66;">)</span>
or <a href="http://www.php.net/die"><span style="color: #000066;">die</span></a><span style="color: #66cc66;">(</span><span style="color: #ff0000;">'Could not connect to the server!'</span><span style="color: #66cc66;">)</span>;
<span style="color: #808080; font-style: italic;">// Select a database:</span>
mssql_select_db<span style="color: #66cc66;">(</span><span style="color: #ff0000;">'Northwind'</span><span style="color: #66cc66;">)</span>
or <a href="http://www.php.net/die"><span style="color: #000066;">die</span></a><span style="color: #66cc66;">(</span><span style="color: #ff0000;">'Could not select a database.'</span><span style="color: #66cc66;">)</span>;
<span style="color: #808080; font-style: italic;">// Example query: (TOP 10 equal LIMIT 0,10 in MySQL)</span>
<span style="color: #0000ff;">$SQL</span> = <span style="color: #ff0000;">"SELECT TOP 10 * FROM ExampleTable ORDER BY ID ASC"</span>;
<span style="color: #808080; font-style: italic;">// Execute query:</span>
<span style="color: #0000ff;">$result</span> = mssql_query<span style="color: #66cc66;">(</span><span style="color: #0000ff;">$SQL</span><span style="color: #66cc66;">)</span>
or <a href="http://www.php.net/die"><span style="color: #000066;">die</span></a><span style="color: #66cc66;">(</span><span style="color: #ff0000;">'A error occured: '</span> . <a href="http://www.php.net/mysql_error"><span style="color: #000066;">mysql_error</span></a><span style="color: #66cc66;">(</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">)</span>;
<span style="color: #808080; font-style: italic;">// Get result count:</span>
<span style="color: #0000ff;">$Count</span> = mssql_num_rows<span style="color: #66cc66;">(</span><span style="color: #0000ff;">$result</span><span style="color: #66cc66;">)</span>;
<a href="http://www.php.net/print"><span style="color: #000066;">print</span></a> <span style="color: #ff0000;">"Showing $count rows:<hr/><span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>"</span>;
<span style="color: #808080; font-style: italic;">// Fetch rows:</span>
<span style="color: #b1b100;">while</span> <span style="color: #66cc66;">(</span><span style="color: #0000ff;">$Row</span> = mssql_fetch_assoc<span style="color: #66cc66;">(</span><span style="color: #0000ff;">$result</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">)</span> <span style="color: #66cc66;">{</span>
<a href="http://www.php.net/print"><span style="color: #000066;">print</span></a> <span style="color: #0000ff;">$Row</span><span style="color: #66cc66;">[</span><span style="color: #ff0000;">'Fieldname'</span><span style="color: #66cc66;">]</span> . <span style="color: #ff0000;">"<span style="color: #000099; font-weight: bold;">\n</span>"</span>;
<span style="color: #66cc66;">}</span>
mssql_close<span style="color: #66cc66;">(</span><span style="color: #0000ff;">$con</span><span style="color: #66cc66;">)</span>;
php 文件下载速度限制
这个片段向您展示了如何限制文件下载的下载速率。<br /> <br /> <br/> <b>备注:</ b> <br />我在2006年左右创建了这个片段,今天有更好的解决方案<br />如<a href=\"http://webscripts.softpedia.com/script/PHP-Clases/QoS-Bandwidth-Throttler-66826.html\"> QoS带宽限制PHP类</ a > <br/>(<a href=\"http://www.phpclasses.org/package/6709-PHP-Limit-the-speed-of-files-served-for-download.html\">其他链接</一>)。 (非常感谢)
<span style="color: #808080; font-style: italic;">// local file that should be send to the client</span>
<span style="color: #0000ff;">$local_file</span> = <span style="color: #ff0000;">'test-file.zip'</span>;
<span style="color: #808080; font-style: italic;">// filename that the user gets as default</span>
<span style="color: #0000ff;">$download_file</span> = <span style="color: #ff0000;">'your-download-name.zip'</span>;
<span style="color: #808080; font-style: italic;">// set the download rate limit (=> 20,5 kb/s)</span>
<span style="color: #0000ff;">$download_rate</span> = <span style="color: #cc66cc;">20.5</span>;
<span style="color: #b1b100;">if</span><span style="color: #66cc66;">(</span><a href="http://www.php.net/file_exists"><span style="color: #000066;">file_exists</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$local_file</span><span style="color: #66cc66;">)</span> && <a href="http://www.php.net/is_file"><span style="color: #000066;">is_file</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$local_file</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">)</span> <span style="color: #66cc66;">{</span>
<span style="color: #808080; font-style: italic;">// send headers</span>
<a href="http://www.php.net/header"><span style="color: #000066;">header</span></a><span style="color: #66cc66;">(</span><span style="color: #ff0000;">'Cache-control: private'</span><span style="color: #66cc66;">)</span>;
<a href="http://www.php.net/header"><span style="color: #000066;">header</span></a><span style="color: #66cc66;">(</span><span style="color: #ff0000;">'Content-Type: application/octet-stream'</span><span style="color: #66cc66;">)</span>;
<a href="http://www.php.net/header"><span style="color: #000066;">header</span></a><span style="color: #66cc66;">(</span><span style="color: #ff0000;">'Content-Length: '</span>.<a href="http://www.php.net/filesize"><span style="color: #000066;">filesize</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$local_file</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">)</span>;
<a href="http://www.php.net/header"><span style="color: #000066;">header</span></a><span style="color: #66cc66;">(</span><span style="color: #ff0000;">'Content-Disposition: filename='</span>.<span style="color: #0000ff;">$download_file</span><span style="color: #66cc66;">)</span>;
<span style="color: #808080; font-style: italic;">// flush content</span>
<a href="http://www.php.net/flush"><span style="color: #000066;">flush</span></a><span style="color: #66cc66;">(</span><span style="color: #66cc66;">)</span>;
<span style="color: #808080; font-style: italic;">// open file stream</span>
<span style="color: #0000ff;">$file</span> = <a href="http://www.php.net/fopen"><span style="color: #000066;">fopen</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$local_file</span>, <span style="color: #ff0000;">"r"</span><span style="color: #66cc66;">)</span>;
<span style="color: #b1b100;">while</span> <span style="color: #66cc66;">(</span>!<a href="http://www.php.net/feof"><span style="color: #000066;">feof</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$file</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">)</span> <span style="color: #66cc66;">{</span>
<span style="color: #808080; font-style: italic;">// send the current file part to the browser</span>
<a href="http://www.php.net/print"><span style="color: #000066;">print</span></a> <a href="http://www.php.net/fread"><span style="color: #000066;">fread</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$file</span>, <a href="http://www.php.net/round"><span style="color: #000066;">round</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$download_rate</span> * <span style="color: #cc66cc;">1024</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">)</span>;
<span style="color: #808080; font-style: italic;">// flush the content to the browser</span>
<a href="http://www.php.net/flush"><span style="color: #000066;">flush</span></a><span style="color: #66cc66;">(</span><span style="color: #66cc66;">)</span>;
<span style="color: #808080; font-style: italic;">// sleep one second</span>
<a href="http://www.php.net/sleep"><span style="color: #000066;">sleep</span></a><span style="color: #66cc66;">(</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">)</span>;
<span style="color: #66cc66;">}</span>
<span style="color: #808080; font-style: italic;">// close file stream</span>
<a href="http://www.php.net/fclose"><span style="color: #000066;">fclose</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$file</span><span style="color: #66cc66;">)</span>;
<span style="color: #66cc66;">}</span>
<span style="color: #b1b100;">else</span> <span style="color: #66cc66;">{</span>
<a href="http://www.php.net/die"><span style="color: #000066;">die</span></a><span style="color: #66cc66;">(</span><span style="color: #ff0000;">'Error: The file '</span>.<span style="color: #0000ff;">$local_file</span>.<span style="color: #ff0000;">' does not exist!'</span><span style="color: #66cc66;">)</span>;
<span style="color: #66cc66;">}</span>
php 添加结尾斜杠
在给定路径中添加结束斜杠,在窗口和unix路径之间产生差异(保持原始斜线)<br/> <a href=\"/snippets/normalize_path.htm\"> normalize_path </a>功能这也是一个好方法...
<span style="color: #000000; font-weight: bold;">function</span> add_ending_slash<span style="color: #66cc66;">(</span><span style="color: #0000ff;">$path</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">{</span>
<span style="color: #0000ff;">$slash_type</span> = <span style="color: #66cc66;">(</span><a href="http://www.php.net/strpos"><span style="color: #000066;">strpos</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$path</span>, <span style="color: #ff0000;">'<span style="color: #000099; font-weight: bold;">\\</span>'</span><span style="color: #66cc66;">)</span>===<span style="color: #cc66cc;">0</span><span style="color: #66cc66;">)</span> ? <span style="color: #ff0000;">'win'</span> : <span style="color: #ff0000;">'unix'</span>;
<span style="color: #0000ff;">$last_char</span> = <a href="http://www.php.net/substr"><span style="color: #000066;">substr</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$path</span>, <a href="http://www.php.net/strlen"><span style="color: #000066;">strlen</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$path</span><span style="color: #66cc66;">)</span><span style="color: #cc66cc;">-1</span>, <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">)</span>;
<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">(</span><span style="color: #0000ff;">$last_char</span> != <span style="color: #ff0000;">'/'</span> and <span style="color: #0000ff;">$last_char</span> != <span style="color: #ff0000;">'<span style="color: #000099; font-weight: bold;">\\</span>'</span><span style="color: #66cc66;">)</span> <span style="color: #66cc66;">{</span>
<span style="color: #808080; font-style: italic;">// no slash:</span>
<span style="color: #0000ff;">$path</span> .= <span style="color: #66cc66;">(</span><span style="color: #0000ff;">$slash_type</span> == <span style="color: #ff0000;">'win'</span><span style="color: #66cc66;">)</span> ? <span style="color: #ff0000;">'<span style="color: #000099; font-weight: bold;">\\</span>'</span> : <span style="color: #ff0000;">'/'</span>;
<span style="color: #66cc66;">}</span>
<span style="color: #b1b100;">return</span> <span style="color: #0000ff;">$path</span>;
<span style="color: #66cc66;">}</span>
php 按日期列出目录内容
加载目录的标记,并在创建之日对它们进行排序。
<span style="color: #000000; font-weight: bold;">function</span> listdir_by_date<span style="color: #66cc66;">(</span><span style="color: #0000ff;">$path</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">{</span>
<span style="color: #0000ff;">$dir</span> = <a href="http://www.php.net/opendir"><span style="color: #000066;">opendir</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$path</span><span style="color: #66cc66;">)</span>;
<span style="color: #0000ff;">$list</span> = <a href="http://www.php.net/array"><span style="color: #000066;">array</span></a><span style="color: #66cc66;">(</span><span style="color: #66cc66;">)</span>;
<span style="color: #b1b100;">while</span><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$file</span> = <a href="http://www.php.net/readdir"><span style="color: #000066;">readdir</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$dir</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">{</span>
<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">(</span><span style="color: #0000ff;">$file</span> != <span style="color: #ff0000;">'.'</span> and <span style="color: #0000ff;">$file</span> != <span style="color: #ff0000;">'..'</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">{</span>
<span style="color: #808080; font-style: italic;">// add the filename, to be sure not to</span>
<span style="color: #808080; font-style: italic;">// overwrite a array key</span>
<span style="color: #0000ff;">$ctime</span> = <a href="http://www.php.net/filectime"><span style="color: #000066;">filectime</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$data_path</span> . <span style="color: #0000ff;">$file</span><span style="color: #66cc66;">)</span> . <span style="color: #ff0000;">','</span> . <span style="color: #0000ff;">$file</span>;
<span style="color: #0000ff;">$list</span><span style="color: #66cc66;">[</span><span style="color: #0000ff;">$ctime</span><span style="color: #66cc66;">]</span> = <span style="color: #0000ff;">$file</span>;
<span style="color: #66cc66;">}</span>
<span style="color: #66cc66;">}</span>
<a href="http://www.php.net/closedir"><span style="color: #000066;">closedir</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$dir</span><span style="color: #66cc66;">)</span>;
<a href="http://www.php.net/krsort"><span style="color: #000066;">krsort</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$list</span><span style="color: #66cc66;">)</span>;
<span style="color: #b1b100;">return</span> <span style="color: #0000ff;">$list</span>;
<span style="color: #66cc66;">}</span>
php 杂事
杂项短代码片段
<span style="color: #808080; font-style: italic;">// report all errors:</span>
<a href="http://www.php.net/error_reporting"><span style="color: #000066;">error_reporting</span></a><span style="color: #66cc66;">(</span><span style="color: #000000; font-weight: bold;">E_ALL</span><span style="color: #66cc66;">)</span>;
<span style="color: #808080; font-style: italic;">// the full path to the current file</span>
<a href="http://www.php.net/print"><span style="color: #000066;">print</span></a> <span style="color: #000000; font-weight: bold;">__FILE__</span>;
<span style="color: #808080; font-style: italic;">// print the current line</span>
<a href="http://www.php.net/print"><span style="color: #000066;">print</span></a> <span style="color: #000000; font-weight: bold;">__LINE__</span>;
<span style="color: #808080; font-style: italic;">// print the current class name</span>
<a href="http://www.php.net/print"><span style="color: #000066;">print</span></a> <span style="color: #000000; font-weight: bold;">__CLASS__</span>;
<span style="color: #808080; font-style: italic;">// print the current method name</span>
<a href="http://www.php.net/print"><span style="color: #000066;">print</span></a> <span style="color: #000000; font-weight: bold;">__METHOD__</span>;
<span style="color: #808080; font-style: italic;">// the current directory</span>
<a href="http://www.php.net/print"><span style="color: #000066;">print</span></a> <a href="http://www.php.net/dirname"><span style="color: #000066;">dirname</span></a><span style="color: #66cc66;">(</span><span style="color: #000000; font-weight: bold;">__FILE__</span><span style="color: #66cc66;">)</span>;
<span style="color: #808080; font-style: italic;">// directory separator of the current</span>
<span style="color: #808080; font-style: italic;">// system (windows = \ and linux = /)</span>
<a href="http://www.php.net/print"><span style="color: #000066;">print</span></a> DIRECTORY_SEPARATOR;
<span style="color: #808080; font-style: italic;">// server variables:</span>
<a href="http://www.php.net/print"><span style="color: #000066;">print</span></a> <span style="color: #0000ff;">$_SERVER</span><span style="color: #66cc66;">[</span><span style="color: #ff0000;">"HTTP_HOST"</span><span style="color: #66cc66;">]</span>;
<a href="http://www.php.net/print"><span style="color: #000066;">print</span></a> <span style="color: #0000ff;">$_SERVER</span><span style="color: #66cc66;">[</span><span style="color: #ff0000;">"REQUEST_URI"</span><span style="color: #66cc66;">]</span>;
<span style="color: #808080; font-style: italic;">// more: HTTP_REFERER, SCRIPT_NAME, SERVER_URL</span>
<span style="color: #808080; font-style: italic;">// output all:</span>
<a href="http://www.php.net/print_r"><span style="color: #000066;">print_r</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$_SERVER</span><span style="color: #66cc66;">)</span>;
<span style="color: #808080; font-style: italic;">// constants:</span>
<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">(</span>!<a href="http://www.php.net/defined"><span style="color: #000066;">defined</span></a><span style="color: #66cc66;">(</span><span style="color: #ff0000;">'SOMETHING'</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">)</span> <span style="color: #66cc66;">{</span>
<a href="http://www.php.net/define"><span style="color: #000066;">define</span></a><span style="color: #66cc66;">(</span>SOMETHING, <span style="color: #ff0000;">"foobar"</span><span style="color: #66cc66;">)</span>;
<span style="color: #66cc66;">}</span>
<a href="http://www.php.net/print"><span style="color: #000066;">print</span></a> SOMETHING;
<span style="color: #808080; font-style: italic;">// special syntax for long strings:</span>
<span style="color: #808080; font-style: italic;">// the variable goes till it finds </span>
<span style="color: #808080; font-style: italic;">// the closing word "EOF;" (it can also be renamed)</span>
<span style="color: #0000ff;">$test</span> =<<<EOF
<span style="color: #ff0000">This is an example of an <b>long</b> variable.
You can also put <span style="color: #66cc66;">{</span><span style="color: #0000ff;">$some_variables</span><span style="color: #66cc66;">}</span> in here :-<span style="color: #66cc66;">)</span></span>
EOF;
<span style="color: #808080; font-style: italic;">// ^ do not use any spaces in the line above (just "EOQ;")</span>
<span style="color: #808080; font-style: italic;">// sprintf usage:</span>
<a href="http://www.php.net/print"><span style="color: #000066;">print</span></a> <a href="http://www.php.net/sprintf"><span style="color: #000066;">sprintf</span></a><span style="color: #66cc66;">(</span><span style="color: #ff0000;">"here you see var1: %s and var2: %s"</span>, <span style="color: #0000ff;">$var1</span>, <span style="color: #0000ff;">$var2</span><span style="color: #66cc66;">)</span>;
<span style="color: #808080; font-style: italic;">// this function prints it's own name ("test"):</span>
<span style="color: #000000; font-weight: bold;">function</span> test<span style="color: #66cc66;">(</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">{</span>
<a href="http://www.php.net/print"><span style="color: #000066;">print</span></a> <span style="color: #000000; font-weight: bold;">__FUNCTION__</span>;
<span style="color: #66cc66;">}</span>
<span style="color: #808080; font-style: italic;">// more reserved constants at: </span>
<span style="color: #808080; font-style: italic;">// http://de2.php.net/manual/en/reserved.constants.php</span>
php 简单的例子
此示例显示如何创建一个内部带红色方块的简单flash动画(使用Ming扩展名)。<br/> <br/>其他好资源:<a href =“http://www.felixgers.de/ teaching / php / movies.html“>明代电影</a>,<a href=\"http://www.onlamp.com/pub/a/php/2001/06/28/flash.html\">获取Flashy With PHP </a>,<a href=\"http://www.php.net/ming\"> Ming for Flash for </a> </a>
<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">(</span>!<a href="http://www.php.net/class_exists"><span style="color: #000066;">class_exists</span></a><span style="color: #66cc66;">(</span><span style="color: #ff0000;">'swfmovie'</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">{</span>
<a href="http://www.php.net/die"><span style="color: #000066;">die</span></a><span style="color: #66cc66;">(</span><span style="color: #ff0000;">'Sorry - Ming is not available on this server :-('</span><span style="color: #66cc66;">)</span>;
<span style="color: #66cc66;">}</span>
<span style="color: #0000ff;">$shape</span> = <span style="color: #000000; font-weight: bold;">new</span> SWFShape<span style="color: #66cc66;">(</span><span style="color: #66cc66;">)</span>;
<span style="color: #808080; font-style: italic;">// color (255,0,0) ==> Red</span>
<span style="color: #0000ff;">$f</span> = <span style="color: #0000ff;">$shape</span>-><span style="color: #006600;">addFill</span><span style="color: #66cc66;">(</span><span style="color: #cc66cc;">255</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">)</span>;
<span style="color: #0000ff;">$shape</span>-><span style="color: #006600;">setRightFill</span><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$f</span><span style="color: #66cc66;">)</span>;
<span style="color: #808080; font-style: italic;">/*
create a simple square:
25,25 ---> 25,50
^ |
| |
| !
50,25 <--- 50,50
*/</span>
<span style="color: #0000ff;">$shape</span>-><span style="color: #006600;">movePenTo</span><span style="color: #66cc66;">(</span><span style="color: #cc66cc;">25</span>,<span style="color: #cc66cc;">25</span><span style="color: #66cc66;">)</span>;
<span style="color: #0000ff;">$shape</span>-><span style="color: #006600;">drawLineTo</span><span style="color: #66cc66;">(</span><span style="color: #cc66cc;">25</span>,<span style="color: #cc66cc;">50</span><span style="color: #66cc66;">)</span>;
<span style="color: #0000ff;">$shape</span>-><span style="color: #006600;">drawLineTo</span><span style="color: #66cc66;">(</span><span style="color: #cc66cc;">50</span>,<span style="color: #cc66cc;">50</span><span style="color: #66cc66;">)</span>;
<span style="color: #0000ff;">$shape</span>-><span style="color: #006600;">drawLineTo</span><span style="color: #66cc66;">(</span><span style="color: #cc66cc;">50</span>,<span style="color: #cc66cc;">25</span><span style="color: #66cc66;">)</span>;
<span style="color: #0000ff;">$shape</span>-><span style="color: #006600;">drawLineTo</span><span style="color: #66cc66;">(</span><span style="color: #cc66cc;">25</span>,<span style="color: #cc66cc;">25</span><span style="color: #66cc66;">)</span>;
<span style="color: #808080; font-style: italic;">// create movie object</span>
<span style="color: #0000ff;">$movie</span> = <span style="color: #000000; font-weight: bold;">new</span> SWFMovie<span style="color: #66cc66;">(</span><span style="color: #66cc66;">)</span>;
<span style="color: #808080; font-style: italic;">// flash animation size:</span>
<span style="color: #0000ff;">$movie</span>-><span style="color: #006600;">setDimension</span><span style="color: #66cc66;">(</span><span style="color: #cc66cc;">320</span>, <span style="color: #cc66cc;">240</span><span style="color: #66cc66;">)</span>;
<span style="color: #808080; font-style: italic;">// add the shape to the movie</span>
<span style="color: #0000ff;">$movie</span>-><span style="color: #006600;">add</span><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$shape</span><span style="color: #66cc66;">)</span>;
<span style="color: #808080; font-style: italic;">// output the movie:</span>
<a href="http://www.php.net/header"><span style="color: #000066;">header</span></a><span style="color: #66cc66;">(</span><span style="color: #ff0000;">'Content-type: application/x-shockwave-flash'</span><span style="color: #66cc66;">)</span>;
<span style="color: #0000ff;">$movie</span>-><span style="color: #006600;">output</span><span style="color: #66cc66;">(</span><span style="color: #66cc66;">)</span>;
php 合并两个字符串
合并两个字符串,使得像ABABAB这样的模式将是<br/>的结果。
<span style="color: #808080; font-style: italic;">/**
* Merges two strings in a way that a pattern like ABABAB will be
* the result.
*
* @param string $str1 String A
* @param string $str2 String B
* @return string Merged string
*/</span>
<span style="color: #000000; font-weight: bold;">function</span> MergeBetween<span style="color: #66cc66;">(</span><span style="color: #0000ff;">$str1</span>, <span style="color: #0000ff;">$str2</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">{</span>
<span style="color: #808080; font-style: italic;">// Split both strings</span>
<span style="color: #0000ff;">$str1</span> = str_split<span style="color: #66cc66;">(</span><span style="color: #0000ff;">$str1</span>, <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">)</span>;
<span style="color: #0000ff;">$str2</span> = str_split<span style="color: #66cc66;">(</span><span style="color: #0000ff;">$str2</span>, <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">)</span>;
<span style="color: #808080; font-style: italic;">// Swap variables if string 1 is larger than string 2</span>
<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">(</span><a href="http://www.php.net/count"><span style="color: #000066;">count</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$str1</span><span style="color: #66cc66;">)</span> >= <a href="http://www.php.net/count"><span style="color: #000066;">count</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$str2</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">)</span>
<a href="http://www.php.net/list"><span style="color: #000066;">list</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$str1</span>, <span style="color: #0000ff;">$str2</span><span style="color: #66cc66;">)</span> = <a href="http://www.php.net/array"><span style="color: #000066;">array</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$str2</span>, <span style="color: #0000ff;">$str1</span><span style="color: #66cc66;">)</span>;
<span style="color: #808080; font-style: italic;">// Append the shorter string to the longer string</span>
<span style="color: #b1b100;">for</span><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$x</span>=<span style="color: #cc66cc;">0</span>; <span style="color: #0000ff;">$x</span> < <a href="http://www.php.net/count"><span style="color: #000066;">count</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$str1</span><span style="color: #66cc66;">)</span>; <span style="color: #0000ff;">$x</span>++<span style="color: #66cc66;">)</span>
<span style="color: #0000ff;">$str2</span><span style="color: #66cc66;">[</span><span style="color: #0000ff;">$x</span><span style="color: #66cc66;">]</span> .= <span style="color: #0000ff;">$str1</span><span style="color: #66cc66;">[</span><span style="color: #0000ff;">$x</span><span style="color: #66cc66;">]</span>;
<span style="color: #b1b100;">return</span> <a href="http://www.php.net/implode"><span style="color: #000066;">implode</span></a><span style="color: #66cc66;">(</span><span style="color: #ff0000;">''</span>, <span style="color: #0000ff;">$str2</span><span style="color: #66cc66;">)</span>;
<span style="color: #66cc66;">}</span>