php 递归计数文件

返回包括所有子目录的整个文件数。

<span style="color: #000000; font-weight: bold;">function</span> count_files<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$path</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
&nbsp;
    <span style="color: #808080; font-style: italic;">// (Ensure that the path contains an ending slash)</span>
&nbsp;
    <span style="color: #0000ff;">$file_count</span> = <span style="color: #cc66cc;">0</span>;
&nbsp;
    <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;">&#40;</span><span style="color: #0000ff;">$path</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
    <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>!<span style="color: #0000ff;">$dir_handle</span><span style="color: #66cc66;">&#41;</span> <span style="color: #b1b100;">return</span> <span style="color: #cc66cc;">-1</span>;
&nbsp;
    <span style="color: #b1b100;">while</span> <span style="color: #66cc66;">&#40;</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;">&#40;</span><span style="color: #0000ff;">$dir_handle</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
&nbsp;
        <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</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;">&#41;</span> <span style="color: #b1b100;">continue</span>;
&nbsp;
        <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><a href="http://www.php.net/is_dir"><span style="color: #000066;">is_dir</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$path</span> . <span style="color: #0000ff;">$file</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>      
            <span style="color: #0000ff;">$file_count</span> += count_files<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$path</span> . <span style="color: #0000ff;">$file</span> . DIRECTORY_SEPARATOR<span style="color: #66cc66;">&#41;</span>;
        <span style="color: #66cc66;">&#125;</span>
        <span style="color: #b1b100;">else</span> <span style="color: #66cc66;">&#123;</span>
            <span style="color: #0000ff;">$file_count</span>++; <span style="color: #808080; font-style: italic;">// increase file count</span>
        <span style="color: #66cc66;">&#125;</span>
    <span style="color: #66cc66;">&#125;</span>
&nbsp;
    <a href="http://www.php.net/closedir"><span style="color: #000066;">closedir</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$dir_handle</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
    <span style="color: #b1b100;">return</span> <span style="color: #0000ff;">$file_count</span>;
<span style="color: #66cc66;">&#125;</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;">&#40;</span><span style="color: #0000ff;">$Haystack</span>, <span style="color: #0000ff;">$Needle</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</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;">&#40;</span><span style="color: #0000ff;">$Haystack</span>, <span style="color: #0000ff;">$Needle</span><span style="color: #66cc66;">&#41;</span> === <span style="color: #cc66cc;">0</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<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;">&#40;</span><span style="color: #0000ff;">$Haystack</span>, <span style="color: #0000ff;">$Needle</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</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;">&#40;</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;">&#40;</span><span style="color: #0000ff;">$Needle</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> == <span style="color: #0000ff;">$Needle</span>;
<span style="color: #66cc66;">&#125;</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>
&nbsp;
<span style="color: #b1b100;">include</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;snoopy.class.php&quot;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #0000ff;">$snoopy</span> = <span style="color: #000000; font-weight: bold;">new</span> Snoopy;
&nbsp;
<span style="color: #808080; font-style: italic;">// need an proxy?:</span>
<span style="color: #808080; font-style: italic;">//$snoopy-&gt;proxy_host = &quot;my.proxy.host&quot;;</span>
<span style="color: #808080; font-style: italic;">//$snoopy-&gt;proxy_port = &quot;8080&quot;;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">// set browser and referer:</span>
<span style="color: #0000ff;">$snoopy</span>-&gt;<span style="color: #006600;">agent</span> = <span style="color: #ff0000;">&quot;Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)&quot;</span>;
<span style="color: #0000ff;">$snoopy</span>-&gt;<span style="color: #006600;">referer</span> = <span style="color: #ff0000;">&quot;http://www.jonasjohn.de/&quot;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">// set some cookies:</span>
<span style="color: #0000ff;">$snoopy</span>-&gt;<span style="color: #006600;">cookies</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">&quot;SessionID&quot;</span><span style="color: #66cc66;">&#93;</span> = <span style="color: #ff0000;">'238472834723489'</span>;
<span style="color: #0000ff;">$snoopy</span>-&gt;<span style="color: #006600;">cookies</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">&quot;favoriteColor&quot;</span><span style="color: #66cc66;">&#93;</span> = <span style="color: #ff0000;">&quot;blue&quot;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">// set an raw-header:</span>
<span style="color: #0000ff;">$snoopy</span>-&gt;<span style="color: #006600;">rawheaders</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">&quot;Pragma&quot;</span><span style="color: #66cc66;">&#93;</span> = <span style="color: #ff0000;">&quot;no-cache&quot;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">// set some internal variables:</span>
<span style="color: #0000ff;">$snoopy</span>-&gt;<span style="color: #006600;">maxredirs</span> = <span style="color: #cc66cc;">2</span>;
<span style="color: #0000ff;">$snoopy</span>-&gt;<span style="color: #006600;">offsiteok</span> = <span style="color: #000000; font-weight: bold;">false</span>;
<span style="color: #0000ff;">$snoopy</span>-&gt;<span style="color: #006600;">expandlinks</span> = <span style="color: #000000; font-weight: bold;">false</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">// set username and password (optional)</span>
<span style="color: #808080; font-style: italic;">//$snoopy-&gt;user = &quot;joe&quot;;</span>
<span style="color: #808080; font-style: italic;">//$snoopy-&gt;pass = &quot;bloe&quot;;</span>
&nbsp;
<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;">&#40;</span><span style="color: #0000ff;">$snoopy</span>-&gt;<span style="color: #006600;">fetchtext</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;http://www.google.com&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span> 
    <span style="color: #808080; font-style: italic;">// other methods: fetch, fetchform, fetchlinks, submittext and submitlinks</span>
&nbsp;
    <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;">&quot;response code: &quot;</span>.<span style="color: #0000ff;">$snoopy</span>-&gt;<span style="color: #006600;">response_code</span>.<span style="color: #ff0000;">&quot;&lt;br/&gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>;
&nbsp;
    <span style="color: #808080; font-style: italic;">// print the headers:</span>
&nbsp;
    <a href="http://www.php.net/print"><span style="color: #000066;">print</span></a> <span style="color: #ff0000;">&quot;&lt;b&gt;Headers:&lt;/b&gt;&lt;br/&gt;&quot;</span>;
    <span style="color: #b1b100;">while</span><span style="color: #66cc66;">&#40;</span><a href="http://www.php.net/list"><span style="color: #000066;">list</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$key</span>,<span style="color: #0000ff;">$val</span><span style="color: #66cc66;">&#41;</span> = <a href="http://www.php.net/each"><span style="color: #000066;">each</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$snoopy</span>-&gt;<span style="color: #006600;">headers</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</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;">&quot;: &quot;</span>.<span style="color: #0000ff;">$val</span>.<span style="color: #ff0000;">&quot;&lt;br/&gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>;
    <span style="color: #66cc66;">&#125;</span>
&nbsp;
    <a href="http://www.php.net/print"><span style="color: #000066;">print</span></a> <span style="color: #ff0000;">&quot;&lt;br/&gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>;
&nbsp;
    <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;">&quot;&lt;pre&gt;&quot;</span>.<a href="http://www.php.net/htmlspecialchars"><span style="color: #000066;">htmlspecialchars</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$snoopy</span>-&gt;<span style="color: #006600;">results</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #ff0000;">&quot;&lt;/pre&gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>;
&nbsp;
<span style="color: #66cc66;">&#125;</span>
<span style="color: #b1b100;">else</span> <span style="color: #66cc66;">&#123;</span>
    <a href="http://www.php.net/print"><span style="color: #000066;">print</span></a> <span style="color: #ff0000;">&quot;Snoopy: error while fetching document: &quot;</span>.<span style="color: #0000ff;">$snoopy</span>-&gt;<span style="color: #006600;">error</span>.<span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>;
<span style="color: #66cc66;">&#125;</span>

php 简单的MS-SQL示例

这是一个关于如何使用PHP查询Microsoft SQL Server <br/>的简单示例。

<span style="color: #808080; font-style: italic;">/*
** Connect to database:
*/</span>
&nbsp;
<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;">&#40;</span><span style="color: #ff0000;">'localhost'</span>,<span style="color: #ff0000;">'admin'</span>,<span style="color: #ff0000;">'foo'</span><span style="color: #66cc66;">&#41;</span> 
    or <a href="http://www.php.net/die"><span style="color: #000066;">die</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'Could not connect to the server!'</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">// Select a database:</span>
mssql_select_db<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'Northwind'</span><span style="color: #66cc66;">&#41;</span> 
    or <a href="http://www.php.net/die"><span style="color: #000066;">die</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'Could not select a database.'</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
<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;">&quot;SELECT TOP 10 * FROM ExampleTable ORDER BY ID ASC&quot;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">// Execute query:</span>
<span style="color: #0000ff;">$result</span> = mssql_query<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$SQL</span><span style="color: #66cc66;">&#41;</span> 
    or <a href="http://www.php.net/die"><span style="color: #000066;">die</span></a><span style="color: #66cc66;">&#40;</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;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">// Get result count:</span>
<span style="color: #0000ff;">$Count</span> = mssql_num_rows<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$result</span><span style="color: #66cc66;">&#41;</span>;
<a href="http://www.php.net/print"><span style="color: #000066;">print</span></a> <span style="color: #ff0000;">&quot;Showing $count rows:&lt;hr/&gt;<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">// Fetch rows:</span>
<span style="color: #b1b100;">while</span> <span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$Row</span> = mssql_fetch_assoc<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$result</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
&nbsp;
    <a href="http://www.php.net/print"><span style="color: #000066;">print</span></a> <span style="color: #0000ff;">$Row</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'Fieldname'</span><span style="color: #66cc66;">&#93;</span> . <span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>;
&nbsp;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
mssql_close<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$con</span><span style="color: #66cc66;">&#41;</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>;
&nbsp;
<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>;
&nbsp;
<span style="color: #808080; font-style: italic;">// set the download rate limit (=&gt; 20,5 kb/s)</span>
<span style="color: #0000ff;">$download_rate</span> = <span style="color: #cc66cc;">20.5</span>;
&nbsp;
<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><a href="http://www.php.net/file_exists"><span style="color: #000066;">file_exists</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$local_file</span><span style="color: #66cc66;">&#41;</span> &amp;&amp; <a href="http://www.php.net/is_file"><span style="color: #000066;">is_file</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$local_file</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
&nbsp;
    <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;">&#40;</span><span style="color: #ff0000;">'Cache-control: private'</span><span style="color: #66cc66;">&#41;</span>;
    <a href="http://www.php.net/header"><span style="color: #000066;">header</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'Content-Type: application/octet-stream'</span><span style="color: #66cc66;">&#41;</span>;
    <a href="http://www.php.net/header"><span style="color: #000066;">header</span></a><span style="color: #66cc66;">&#40;</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;">&#40;</span><span style="color: #0000ff;">$local_file</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
    <a href="http://www.php.net/header"><span style="color: #000066;">header</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'Content-Disposition: filename='</span>.<span style="color: #0000ff;">$download_file</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
    <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;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
    <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;">&#40;</span><span style="color: #0000ff;">$local_file</span>, <span style="color: #ff0000;">&quot;r&quot;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
    <span style="color: #b1b100;">while</span> <span style="color: #66cc66;">&#40;</span>!<a href="http://www.php.net/feof"><span style="color: #000066;">feof</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$file</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
&nbsp;
        <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;">&#40;</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;">&#40;</span><span style="color: #0000ff;">$download_rate</span> * <span style="color: #cc66cc;">1024</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
        <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;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
        <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;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;
    <span style="color: #66cc66;">&#125;</span>
&nbsp;
    <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;">&#40;</span><span style="color: #0000ff;">$file</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #66cc66;">&#125;</span>
<span style="color: #b1b100;">else</span> <span style="color: #66cc66;">&#123;</span>
    <a href="http://www.php.net/die"><span style="color: #000066;">die</span></a><span style="color: #66cc66;">&#40;</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;">&#41;</span>;
<span style="color: #66cc66;">&#125;</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;">&#40;</span><span style="color: #0000ff;">$path</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
&nbsp;
    <span style="color: #0000ff;">$slash_type</span> = <span style="color: #66cc66;">&#40;</span><a href="http://www.php.net/strpos"><span style="color: #000066;">strpos</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$path</span>, <span style="color: #ff0000;">'<span style="color: #000099; font-weight: bold;">\\</span>'</span><span style="color: #66cc66;">&#41;</span>===<span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span> ? <span style="color: #ff0000;">'win'</span> : <span style="color: #ff0000;">'unix'</span>; 
&nbsp;
    <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;">&#40;</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;">&#40;</span><span style="color: #0000ff;">$path</span><span style="color: #66cc66;">&#41;</span><span style="color: #cc66cc;">-1</span>, <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
    <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</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;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
        <span style="color: #808080; font-style: italic;">// no slash:</span>
        <span style="color: #0000ff;">$path</span> .= <span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$slash_type</span> == <span style="color: #ff0000;">'win'</span><span style="color: #66cc66;">&#41;</span> ? <span style="color: #ff0000;">'<span style="color: #000099; font-weight: bold;">\\</span>'</span> : <span style="color: #ff0000;">'/'</span>;
    <span style="color: #66cc66;">&#125;</span>
&nbsp;
    <span style="color: #b1b100;">return</span> <span style="color: #0000ff;">$path</span>;
<span style="color: #66cc66;">&#125;</span>

php 按日期列出目录内容

加载目录的标记,并在创建之日对它们进行排序。

<span style="color: #000000; font-weight: bold;">function</span> listdir_by_date<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$path</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</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;">&#40;</span><span style="color: #0000ff;">$path</span><span style="color: #66cc66;">&#41;</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;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
    <span style="color: #b1b100;">while</span><span style="color: #66cc66;">&#40;</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;">&#40;</span><span style="color: #0000ff;">$dir</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
        <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</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;">&#41;</span><span style="color: #66cc66;">&#123;</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;">&#40;</span><span style="color: #0000ff;">$data_path</span> . <span style="color: #0000ff;">$file</span><span style="color: #66cc66;">&#41;</span> . <span style="color: #ff0000;">','</span> . <span style="color: #0000ff;">$file</span>;
            <span style="color: #0000ff;">$list</span><span style="color: #66cc66;">&#91;</span><span style="color: #0000ff;">$ctime</span><span style="color: #66cc66;">&#93;</span> = <span style="color: #0000ff;">$file</span>;
        <span style="color: #66cc66;">&#125;</span>
    <span style="color: #66cc66;">&#125;</span>
    <a href="http://www.php.net/closedir"><span style="color: #000066;">closedir</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$dir</span><span style="color: #66cc66;">&#41;</span>;
    <a href="http://www.php.net/krsort"><span style="color: #000066;">krsort</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$list</span><span style="color: #66cc66;">&#41;</span>;
    <span style="color: #b1b100;">return</span> <span style="color: #0000ff;">$list</span>;
<span style="color: #66cc66;">&#125;</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;">&#40;</span><span style="color: #000000; font-weight: bold;">E_ALL</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
<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>;
&nbsp;
<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>;
&nbsp;
<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>;
&nbsp;
<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>;
&nbsp;
<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;">&#40;</span><span style="color: #000000; font-weight: bold;">__FILE__</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
<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;
&nbsp;
<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;">&#91;</span><span style="color: #ff0000;">&quot;HTTP_HOST&quot;</span><span style="color: #66cc66;">&#93;</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;">&#91;</span><span style="color: #ff0000;">&quot;REQUEST_URI&quot;</span><span style="color: #66cc66;">&#93;</span>;
<span style="color: #808080; font-style: italic;">// more: HTTP_REFERER, SCRIPT_NAME, SERVER_URL</span>
&nbsp;
<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;">&#40;</span><span style="color: #0000ff;">$_SERVER</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">// constants:</span>
<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>!<a href="http://www.php.net/defined"><span style="color: #000066;">defined</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'SOMETHING'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
    <a href="http://www.php.net/define"><span style="color: #000066;">define</span></a><span style="color: #66cc66;">&#40;</span>SOMETHING, <span style="color: #ff0000;">&quot;foobar&quot;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
<a href="http://www.php.net/print"><span style="color: #000066;">print</span></a> SOMETHING;
&nbsp;
&nbsp;
<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 &quot;EOF;&quot; (it can also be renamed)</span>
<span style="color: #0000ff;">$test</span> =&lt;&lt;&lt;EOF
<span style="color: #ff0000">This is an example of an &lt;b&gt;long&lt;/b&gt; variable.
You can also put <span style="color: #66cc66;">&#123;</span><span style="color: #0000ff;">$some_variables</span><span style="color: #66cc66;">&#125;</span> in here :-<span style="color: #66cc66;">&#41;</span></span>
EOF;
<span style="color: #808080; font-style: italic;">// ^ do not use any spaces in the line above (just &quot;EOQ;&quot;)</span>
&nbsp;
&nbsp;
<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;">&#40;</span><span style="color: #ff0000;">&quot;here you see var1: %s and var2: %s&quot;</span>, <span style="color: #0000ff;">$var1</span>, <span style="color: #0000ff;">$var2</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
&nbsp;
<span style="color: #808080; font-style: italic;">// this function prints it's own name (&quot;test&quot;):</span>
<span style="color: #000000; font-weight: bold;">function</span> test<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</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;">&#125;</span>
&nbsp;
<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;">&#40;</span>!<a href="http://www.php.net/class_exists"><span style="color: #000066;">class_exists</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'swfmovie'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
    <a href="http://www.php.net/die"><span style="color: #000066;">die</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'Sorry - Ming is not available on this server :-('</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">$shape</span> = <span style="color: #000000; font-weight: bold;">new</span> SWFShape<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>; 
&nbsp;
<span style="color: #808080; font-style: italic;">// color (255,0,0) ==&gt; Red</span>
<span style="color: #0000ff;">$f</span> = <span style="color: #0000ff;">$shape</span>-&gt;<span style="color: #006600;">addFill</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">255</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>; 
<span style="color: #0000ff;">$shape</span>-&gt;<span style="color: #006600;">setRightFill</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$f</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">/*
&nbsp;
create a simple square:
&nbsp;
25,25 ---&gt; 25,50
  ^          |
  |          |
  |          !
50,25 &lt;--- 50,50
*/</span>
&nbsp;
<span style="color: #0000ff;">$shape</span>-&gt;<span style="color: #006600;">movePenTo</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">25</span>,<span style="color: #cc66cc;">25</span><span style="color: #66cc66;">&#41;</span>; 
<span style="color: #0000ff;">$shape</span>-&gt;<span style="color: #006600;">drawLineTo</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">25</span>,<span style="color: #cc66cc;">50</span><span style="color: #66cc66;">&#41;</span>; 
<span style="color: #0000ff;">$shape</span>-&gt;<span style="color: #006600;">drawLineTo</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">50</span>,<span style="color: #cc66cc;">50</span><span style="color: #66cc66;">&#41;</span>; 
<span style="color: #0000ff;">$shape</span>-&gt;<span style="color: #006600;">drawLineTo</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">50</span>,<span style="color: #cc66cc;">25</span><span style="color: #66cc66;">&#41;</span>; 
<span style="color: #0000ff;">$shape</span>-&gt;<span style="color: #006600;">drawLineTo</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">25</span>,<span style="color: #cc66cc;">25</span><span style="color: #66cc66;">&#41;</span>; 
&nbsp;
&nbsp;
<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;">&#40;</span><span style="color: #66cc66;">&#41;</span>; 
&nbsp;
<span style="color: #808080; font-style: italic;">// flash animation size:</span>
<span style="color: #0000ff;">$movie</span>-&gt;<span style="color: #006600;">setDimension</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">320</span>, <span style="color: #cc66cc;">240</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">// add the shape to the movie</span>
<span style="color: #0000ff;">$movie</span>-&gt;<span style="color: #006600;">add</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$shape</span><span style="color: #66cc66;">&#41;</span>; 
&nbsp;
&nbsp;
<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;">&#40;</span><span style="color: #ff0000;">'Content-type: application/x-shockwave-flash'</span><span style="color: #66cc66;">&#41;</span>; 
&nbsp;
<span style="color: #0000ff;">$movie</span>-&gt;<span style="color: #006600;">output</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</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;">&#40;</span><span style="color: #0000ff;">$str1</span>, <span style="color: #0000ff;">$str2</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
&nbsp;
    <span style="color: #808080; font-style: italic;">// Split both strings</span>
    <span style="color: #0000ff;">$str1</span> = str_split<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$str1</span>, <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;
    <span style="color: #0000ff;">$str2</span> = str_split<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$str2</span>, <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
    <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;">&#40;</span><a href="http://www.php.net/count"><span style="color: #000066;">count</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$str1</span><span style="color: #66cc66;">&#41;</span> &gt;= <a href="http://www.php.net/count"><span style="color: #000066;">count</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$str2</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
        <a href="http://www.php.net/list"><span style="color: #000066;">list</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$str1</span>, <span style="color: #0000ff;">$str2</span><span style="color: #66cc66;">&#41;</span> = <a href="http://www.php.net/array"><span style="color: #000066;">array</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$str2</span>, <span style="color: #0000ff;">$str1</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
    <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;">&#40;</span><span style="color: #0000ff;">$x</span>=<span style="color: #cc66cc;">0</span>; <span style="color: #0000ff;">$x</span> &lt; <a href="http://www.php.net/count"><span style="color: #000066;">count</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$str1</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #0000ff;">$x</span>++<span style="color: #66cc66;">&#41;</span>
        <span style="color: #0000ff;">$str2</span><span style="color: #66cc66;">&#91;</span><span style="color: #0000ff;">$x</span><span style="color: #66cc66;">&#93;</span> .= <span style="color: #0000ff;">$str1</span><span style="color: #66cc66;">&#91;</span><span style="color: #0000ff;">$x</span><span style="color: #66cc66;">&#93;</span>;
&nbsp;
    <span style="color: #b1b100;">return</span> <a href="http://www.php.net/implode"><span style="color: #000066;">implode</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">''</span>, <span style="color: #0000ff;">$str2</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>