电脑软硬件应用网
当前位置: 电脑软硬件应用网 > 设计学院 > 网络编程 > PHP教程 > 正文
PHP新手上路--5. 其他功能
PHP新手上路--5. 其他功能
2005-12-30 19:20:51  文/45IT收集   出处:电脑软硬件应用网   
;  日期和时间
    checkdate - 验证日期/时间格式 
    date - 生成日期/时间格式 
    time - 当前时间信息 
    strftime - 格式化日期/时间 
    目录、文件系统
    chdir - 改变目录 
    dir - 目录类别 
    opendir, readdir, closedir - 开启、读取、关闭目录 
    fopen, fclose - 开启、关闭文件 
    fgets, fgetss - 逐行读取内容 
    file - 将整个文件读入一个数组变量中 
    正则表达式
    ereg - 匹配正则表达式 
    eregi - 大小写非敏感匹配正则表达式 
    ereg_replace -匹配正则表达式并替换 
    eregi_replace -大小写非敏感匹配正则表达式并替换 
    split - 依规则切开字符串并以数组形势存储
     
    字符串
    AddSlashes - 加上斜杠后使用字符串 
    echo - 输出一个或多个字符串 
    join, implode - 将数组元素合并为字符串 
    htmlentities, htmlspecialchars - 将HTML特殊字符转换为HTML标记形式 
    split - 依规则切开字符串并以数组形势存储 
    5.6 扩展我们的范例主页
    我们将使用以上提到的一些函数和思想为我们的范例主页添加更多的动态内容。我们可以在每个页面的顶部加上导航栏,同时使得当前页自动的不被链接显示;同时还可以添加一个用户验证表单以便上传音乐、图像等文件并自动更新页面。
    导航栏
    实际上就是在footer.inc文件中加上一段代码。假设你的web站点中所有后缀为.php3的文件都会出现在导航栏中,以下就是被存为include/navbar.inc的代码:
    <?
    /* 输出该导航栏,链接所有除当前页的站内.php3文件 */
    # 读取目录
    $d = dir("./");
    echo "<P ALIGN=\"CENTER\"> | \n";
    while($entry = $d->read())
    {
    // 忽略无文件情况
    if ( !is_file($entry) )
    continue;
    /* 将文件名与扩展名分开。由于.是正则表达式特殊字符,应该用\引出 */
    list($filenm, $fileext) = split("\.",$entry, 2);
    // 忽略非.php3文件情况
    if( $fileext != "php3" )
    continue;
    /* 现在我们已经把.php3文件都选出,下面搜寻文件中的第一行(标题)
    类似$title="something";
    并将以上标题内容分开,用作链接文字 */
    $linknm = "";
    $fp=fopen($entry,"r");
    while($buffer=fgets($fp, 4096))
    {
    $buffer = trim($buffer);
    // 我们已经把每个文件的标题放在文件的第一行以便搜索
    // 但是当你改变变量名称时可能会带来大麻烦
    if (ereg("title *= *\"", $buffer))
    {
    /* 我们已经取得了标题内容并可以在此基础上
    进行去除空格等处理。
    必须以PHP代码方式处理,比如$title = "blah blah" */
    eval($buffer);
    // 然后将链接文字显示为标题文字
    $linknm = $title;
    break;
    }
    }
    fclose($fp);
    if ( $entry == basename($PHP_SELF) )
    echo "$linknm";
    else
    echo "<A HREF=\"$entry\">$linknm</A>";
    echo " | ";
    }
    $d->close();
    echo " </P>\n";
    ?>
    照片收藏夹
    我们将引用基于HTTP的验证、文件系统函数和文件上传功能维护放置图像文件的目录。
    同时我们需要建立一个可以列出在该目录下所有照片的页面。
    文件上传
    <?
    include("include/common.inc");
    // 我们在这里再做一次用户验证
    if(!isset($PHP_AUTH_USER)) 
    {
    Header("WWW-Authenticate: Basic realm=\"$MySiteName\"");
    Header("HTTP/1.0 401 Unauthorized");
    echo "Sorry, you are not authorized to upload files\n";
    exit;
    } 
    else 
    {
    if ( !($PHP_AUTH_USER==$MyName && $PHP_AUTH_PW==$MyPassword ) )
    {
    // 如果是错误的用户名称/密码对,强制再次认证
    Header("WWW-Authenticate: Basic realm=\"My Realm\"");
    Header("HTTP/1.0 401 Unauthorized");
    echo "ERROR : $PHP_AUTH_USER/$PHP_AUTH_PW is invalid.<P>";
    exit;
    } 
    }
    if ( $cancelit ) 
    {
    // 当浏览者按下"取消"按钮则转向首页面
    header ( "Location: front_2.php3" );
    exit;
    }
    function do_upload () {
    global $userfile, $userfile_size, $userfile_name, $userfile_type;
    global $local_file, $error_msg;
    global $HTTP_REFERER;
    if ( $userfile == "none" ) {
    $error_msg = "You did not specify a file for uploading.";
    return;
    }
    if ( $userfile_size > 2000000 ) 
    {
    $error_msg = "Sorry, your file is too large.";
    return;
    }
    // Wherever you have write permission below...
    $upload_dir = "photos";
    $local_file = "$upload_dir/$userfile_name";
    if ( file_exists ( $local_file ) ) {
    $error_msg = "Sorry, a file with that name already exists";
    return;
    };
    // 你还可以由此检查文件名称/类型对以确定是何种文件:gif,jpg,mp3…
    rename($userfile, $local_file);
    echo "The file is uploaded<BR>\n";
    echo "<A HREF=\"$HTTP_REFERER\">Go Back</A><BR>\n";
    }
    $title = "Upload File";
    include("include/header.inc");
    if (empty($userfile) || $userfile=="none") 
    {
    // 输出以下表单
    ?>
    <FORM ACTION="<? echo "$PHP_SELF"; ?>" ENCTYPE="multipart/form-data" METHOD=POST>
    <INPUT TYPE="HIDDEN" NAME="MAX_FILE_SIZE" VALUE="2000000">
    <INPUT TYPE="FILE" NAME="userfile" SIZE="24" MAXLENGTH="80">
    <BR><BR>
    <INPUT TYPE="SUBMIT" VALUE="Upload File!" NAME="sendit">
    <INPUT TYPE="SUBMIT" VALUE="Cancel" NAME="cancelit"><BR>
    </FORM>
    <I><FONT SIZE="2">(You may notice a slight delay while we upload your file.)</FONT></I>
    <?
    } else {
    if ( $error_msg ) { echo "<B>$error_msg</B><BR><BR>"; }
    if ( $sendit ) {
    do_

上一页  [1] [2] [3] 下一页

  • 上一篇文章:

  • 下一篇文章:
  • 最新热点 最新推荐 相关文章
    javascript实用技巧点滴(三)
    javascript实用技巧点滴(2)
    javascript实用技巧点滴(1)
    javascript教程 - 第一课 1.1
    用js制作完善的日,月组合下拉框
    利用JSP编程建立动态Web站点
    用PHP制作留言板
    PHP生成动态WAP页面
    PHP实现文件下载
    PHP4的session功能
    关于45IT | About 45IT | 联系方式 | 版权声明 | 网站导航 |

    Copyright © 2003-2011 45IT. All Rights Reserved 浙ICP备09049068号