首页 > php代码

php.ini中output_buffering详解

php output_buffering

默认情况下,php buffer是开启的,而且该buffer默认值是4096,即4kb。你可以通过在php.ini配置文件中找到output_buffering配置.当echo,print等输出用户数据的时候,输出数据都会写入到php output_buffering中,直到output_buffering写满,会将这些数据通过tcp传送给浏览器显示。你也可以通过ob_start()手动激活php output_buffering机制,使得即便输出超过了4kb数据,也不真的把数据交给tcp传给浏览器,因为ob_start()将php buffer空间设置到了足够大。只有直到脚本结束,或者调用ob_end_flush函数,才会把数据发送给客户端浏览器。

阅读全文

php实现文件上传的程序代码

先来看实例

<?php
      
        //判断临时文件存放路径是否包含用户上传的文件
        if(is_uploaded_file($_FILES["uploadfile"]["tmp_name"])){
        //为了更高效,将信息存放在变量中
        $upfile=$_FILES["uploadfile"];//用一个数组类型的字符串存放上传文件的信息
        //print_r($upfile);//如果打印则输出类似这样的信息Array ( [name] => m.jpg [type] => image/jpeg [tmp_name] => C:WINDOWSTempphp1A.tmp [error] => 0 [size] => 44905 )
        $name=$upfile["name"];//便于以后转移文件时命名
        $type=$upfile["type"];//上传文件的类型
        $size=$upfile["size"];//上传文件的大小
        $tmp_name=$upfile["tmp_name"];//用户上传文件的临时名称
        $error=$upfile["error"];//上传过程中的错误信息
        //echo $name;
        //对文件类型进行判断,判断是否要转移文件,如果符合要求则设置$ok=1即可以转移
        switch($type){
            case "image/jpg": $ok=1;
            break;
            case "image/jpeg": $ok=1;
            break;
            case "image/gif" : $ok=1;
            break;
            default:$ok=0;
            break;
        }
        //如果文件符合要求并且上传过程中没有错误
        if($ok&&$error=='0'){
            //调用move_uploaded_file()函数,进行文件转移
            move_uploaded_file($tmp_name,'up/'.$name);
            //操作成功后,提示成功
            echo "<script language="javascript">alert('succeed')</script>";
        }else{
            //如果文件不符合类型或者上传过程中有错误,提示失败
            echo "<script language="javascript">alert('failed')</script>";
        }
    }
?>
<!--设置提交文件的表单-->
<form enctype="multipart/form-data" method="post" name="uploadform">
<input type="file" name="uploadfile" value="Upload File">
<input type="submit" name="submit" value="Upload">
</form>

阅读全文

php正则获取关键字、标题、网页描述代码

获取关键字


function get_keywords($html)
{
$html=strtolower($html);
preg_match("@<head[^>]*>(.*?)</head>@si",$html, $regs); 
$headdata = $regs[1];
preg_match("/<meta +name *=["']?keywords["']? *content=["']?([^<>"]+)["']?/i", $headdata, $res);
if (isset ($res)) {
$keywords = $res[1];
}
if ($keywords == "") $keywords = "无";
$keywords=replace_word(textcut($keywords,250));
$keywords=str_replace("-",",",$keywords);
$keywords=str_replace(",",",",$keywords);
$keywords=str_replace(" ",",",$keywords);
$keywords=str_replace("|",",",$keywords);
$keywords=str_replace("、",",",$keywords);
$keywords=str_replace(",,",",",$keywords);
$keywords=str_replace("<","",$keywords);
$keywords=str_replace(">","",$keywords);
return addslashes(trim($keywords));
}

阅读全文

php 读目录以列表形式展示实例

例1

<?php
 
$getUrl = (empty($_GET['url'])) ? './' : $_GET['url'].'/';
 
function fileName($dir)
{
 
    $fileAll = scandir($dir,0);
    $pathDir = $pathFile = array();
    $count = count($fileAll);
 
    if($count <= 2){
        echo "空目录<br />";
    }
     
    foreach($fileAll as $pdf){
        if(is_dir($dir.$pdf)){
            $pathDir[] = $pdf;
        }else{
            $pathFile[] = $pdf;
        }
    }
 
    foreach($pathDir as $pd){
        if($pd == '.' or $pd == '..') continue;
        echo "<a href="?url=$dir$pd">$pd</a><br />";
    }
 
    foreach($pathFile as $pf){
        echo "<a href="$dir$pf" target="_blank">$pf</a><br />";
    }
 
    if($dir != './'){
        $dir = rtrim($dir,'/'); 
        $dir = explode('/',$dir);
        unset($dir[sizeof($dir)-1]);
        $dir = implode('/',$dir);
        echo "<a href="?url=$dir">Go Back</a>";
    }
 
}
 
fileName($getUrl);

阅读全文