当前位置:  编程技术>php
本页文章导读:
    ▪php 静态新闻列表自动生成代码如何实现      很多php 教程中都有介绍,这里只提供例子。 <?php /** * php 静态新闻列表 自动生成代码 * site www. */ function CreateShtml() { ob_start(array("callback_CreateShtml","callback_GoToShtml")); } function callback.........
    ▪PHP 文件上传进度条的简单实现方法      一种是使用APC扩展模块:http://pecl.php.net/package/apc。 另外一种是使用PECL扩展模块 uploadprogress实现:http://pecl.php.net/package/uploadprogress。 1、APC实现方法: 安装APC,参照官方文档安装,可以使用P.........
    ▪php页面消耗内存过大如何解决      原因分析: php页面消耗的最大内存在(php.ini中配置)默认为 8M,如果php操作的文件或图片过大时,会导致异常。 为大家推荐一种解决方法: 1,修改 php.ini 将memory_limit由 8M 改成 16M(或更大.........

[1]php 静态新闻列表自动生成代码如何实现
    来源: 互联网  发布时间: 2013-12-24

很多php 教程中都有介绍,这里只提供例子。

<?php
/**
 * php 静态新闻列表 自动生成代码
 * site www.
*/
function CreateShtml()
{
ob_start(array("callback_CreateShtml","callback_GoToShtml"));
}

function callback_CreateShtml($buffer)
{
$page = intval(@$_REQUEST["page"]);
$fileName = $_SERVER['DOCUMENT_ROOT'] . dirname($_SERVER['PHP_SELF']) . "/" . basename($_SERVER['PHP_SELF'],".php") . ($page==0 ? "" : "_" . strval($page)) . ".htm";
$fp = fopen($fileName,"wb");
fwrite($fp,$buffer);
fclose($fp);
return $buffer;
}

function callback_GoToShtml($buffer)
{
$page = intval(@$_REQUEST["page"]);
$fileName = basename($_SERVER['PHP_SELF'],".php") . ($page==0 ? "" : "_" . strval($page)) . ".htm";
header("location:" . $fileName);
return $buffer;
}

function GoToShtml()
{
$page = intval(@$_REQUEST["page"]);
$fileName = basename($_SERVER['PHP_SELF'],".php") . ($page==0 ? "" : "_" . strval($page)) . ".htm";
if(file_exists($fileName))
header("location:" . $fileName);
}

function DeleteShtml($fileName=NULL)
{
if(is_null($fileName))
$fileName = $_SERVER['DOCUMENT_ROOT'] . $_SERVER['PHP_SELF'];

if($fileName[0]=="/")
$fileName = $_SERVER['DOCUMENT_ROOT'] . $fileName;

$path = dirname($fileName);
$dir = dir($path);
$patten = "/^" . basename($fileName, ".php") . "(_[0-9]+)?.htm/";
while(($entry = $dir->read())!==false)
{
if(is_file($path . "/" .$entry) && preg_match($patten,$entry))
unlink ($path . "/" . $entry);
}
} 
?>

    
[2]PHP 文件上传进度条的简单实现方法
    来源: 互联网  发布时间: 2013-12-24

一种是使用APC扩展模块:http://pecl.php.net/package/apc。
另外一种是使用PECL扩展模块 uploadprogress实现:http://pecl.php.net/package/uploadprogress。

1、APC实现方法:
安装APC,参照官方文档安装,可以使用PECL模块安装。
配置php.ini,设置参数 apc.rfc1867=1 ,使APC支持上传进度条功能,
示例:

<?php
/**
APC方法 上传进度条
*/
if ($_SERVER['REQUEST_METHOD'] == 'POST') { //上传请求
$status = apc_fetch('upload_' . $_POST['APC_UPLOAD_PROGRESS']);
$status['done'] = 1;
echo json_encode($status); //输出给用户端页面里的ajax调用,相关文档请自己寻找
exit;
} elseif (isset()($_GET['progress_key'])) { //读取上传进度
$status = apc_fetch('upload_'.$_GET['progress_key']);
echo json_encode($status);
exit;
} else {
//其他代码,比如上传表单等
}

2、uploadprogress 模块实现方法:
使用PECL模块安装方法安装该模块
php.ini里面设置 uploadprogress.file.filename_template = “/tmp/upd_%s.txt”
示例:

<?php
/**
 上传进度条
 www.
*/

if($_SERVER['REQUEST_METHOD']=='POST') {
if (is_uploaded_file($_FILES['upfile']['tmp_name'])) {
$upload_dir = 'your_path/';
$ext = strrchr($_FILES['video']['name'], '.');
$sessid = $_POST['UPLOAD_IDENTIFIER'] ;
$tmpfile = $upload_dir . $sessid;
$sessfile = $upload_dir . $sessid .$ext;
if (move_uploaded_file($_FILES['upfile']['tmp_name'],$tmpfile)) {
//上传成功
} else {
//上传失败
} else {
//上传错误

} elseif (!empty($_GET['sessid'])) {
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Content-Type:text/html;charset=UTF-8");

$unique_id = $_GET['sessid'];
$uploadvalues = uploadprogress_get_info($unique_id);

if (is_array($uploadvalues)) {
echo json_encode($uploadvalues);
} else {
//读取进度失败,另外处理逻辑
}

} else {
//显示上传表单
}
?>

有上传进度条的代码,看起来比较直观,用户体验好。


    
[3]php页面消耗内存过大如何解决
    来源: 互联网  发布时间: 2013-12-24

原因分析:
php页面消耗的最大内存在(php.ini中配置)默认为 8M,如果php操作的文件或图片过大时,会导致异常。

为大家推荐一种解决方法:

1,修改 php.ini
将memory_limit由 8M 改成 16M(或更大),然后重启apache。

2,在PHP 文件中 加入 ini_set(”memory_limit”,”100M”);
注意:为了系统的其它资源的正常使用,不要将 memory_limit设置太大,其中-1为不限。

3,修改.htaccess 文档(需要当前目录支持.htaccess)
在文档中新增:
php_value memory_limit 16M
//可根据需要调整其值为适合的范围


    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3