PHP用mkdir()新建立目录无写的权限的问题
阅览次数:
今
天:0 总浏览:526
文章来源: CP整理
原文作者:
整理日期: 2008-08-14
函数mkdir有两个参数,目录路径和访问权限
例mkdir('/tmp/test',0777)
然后要得到的权限码,不一定是上边设定的,当前系统的umask将会与设定的值‘与’,这样子才是真正的权限码,例如,如果umask为022,那码上边
得到的权权限码为0755,没有写的权限
所以如果我们想要真正的得到0777的权限,代码
<?php
$oldumask=umask(0);
mkdir('test',0777);
umask($oldumask);
?>
umask()检查并修改当前的umask码,并返回当前的umask码
umask 是什么?
我们创建文件的默认权限是怎么来的?如何改变这个默认权限呢?
当我们登录系统之后创建一个文件总是有一个默认权限的,那么这个权限是怎么来的呢?这就是 umask 干的事情。umask
设置了用户创建文件的默认权限,它与 chmod 的效果刚好相反,umask 设置的是权限“补码”,而 chmod 设置的是文件权限码。一般在
/etc/profile、$HOME/.bash_profile 或 $HOME/.profile 中设置 umask 值。
如何计算 umask 值?
umask 命令允 ......
http://www.dedecms.com/knowledge/program/php/2009/0929/51.html
来源:PHP100 作者:PHP100er 发表于:2009-09-29 11:05 点击:
2363
最近学习URL跳转的时候新进三个超好用的PHP加密解密函数,貌似是discuz里的使用这些加密解密的原因是因为有时自己的URL地址被人获取以后想破解你里面传值的内容就必须知道你的key,没有key,他应该要破了一阵子才能知道你URL里面的内容吧... 闲话少说,先将它
最近学习URL跳转的时候新进三个超好用的PHP加密解密函数,貌似是discuz里的…使用这些加密解密的原因是因为有时自己的URL地址被人获取以后想破解你里面传值的内容就必须知道你的key,没有key,他应该要破了一阵子才能知道你URL里面的内容吧...
闲话少说,先将它们打包成一个文件就叫fun.php吧
<?php
function passport_encrypt($txt, $key) {
srand((double)microtime() * 1000000);
$encrypt_key = md5(rand(0, 32000));
$ctr = 0;
$tmp = '';
for($i = 0;$i < strlen($txt); $i++) {
$ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr;
$tmp .= $encrypt_key[$ctr].($txt[$i] ^ $encrypt_key[$ctr++]);
}
return base64_encode(passport_key($tmp, $k ......
http://bbs.kl3w.com/thread-117-1-1.html
康盛的 authcode 函数可以说对中国的PHP界作出了重大贡献。包括康盛自己的产品,以及大部分中国使用PHP的公司都用这个函数进行加密,authcode 是使用异或运算进行加密和解密。
原理如下,假如:
加密
明文:1010 1001
密匙:1110 0011
密文:0100 1010
得出密文0100 1010,解密之需和密匙异或下就可以了
解密
密文:0100 1010
密匙:1110 0011
明文:1010 1001
并没有什么高深的算法,密匙重要性很高,所以,关键在于怎么生成密匙。
那我们一起看下康盛的authcode怎么做的吧
// 参数解释
// $string: 明文 或 密文
// $operation:DECODE表示解密,其它表示加密
// $key: 密匙
// $expiry:密文有效期
function authcode($string, $operation = 'DECODE', $key = '', $expiry = 0) {
// 动态密匙长度,相同的明文会生成不同密文就是依靠动态密匙
$ckey_length = 4;
// 密匙
$k ......
http://www.phpip.com/program/php/A62010901P/25588.html
这篇文章的出发点是我对插件机制的理解,及其在PHP中的实现。此方案仅是插件机制在PHP中的实现方案之一,写下来和大家分享,欢迎大家一起讨论。
插件,亦即Plug-in,是指一类特定的功能模块(通常由第三方开发者实现),它的特点是:当你需要它的时候激活它,不需要它的时候禁用/删除它;且无论是激活还是禁用都不影响系统核心模块的运行,也就是说插件是一种非侵入式的模块化设计,实现了核心程序与插件程序的松散耦合。一个典型的例子就是Wordpress中众多的第三方插件,比如Akimet插件用于对用户的评论进行Spam过滤。
一个健壮的插件机制,我认为必须具备以下特点:
插件的动态监听和加载(Lookup)
插件的动态触发
以上两点的实现均不影响核心程序的运行
要在程序中实现插件,我们首先应该想到的就是定义不同的钩子(Hooks);“钩子”是一个很形象的逻辑概念,你可以认为它是系统预留的插件触发条件。它的逻辑原理如下:当系统执行到某个钩子时,会判断这个钩子的条件是否满足;如果满足,会转而先去调用钩子所制定的功能,然后返回继续执行余下的程序;如果不满足,跳过即可。这有点像汇编中的 ......
application:全局作用范围,整个应用程序共享,就是在部署文件中的同一个webApp共享,生命周期为:应用程序启动到停止。
session:会话作用域,当用户首次访问时,产生一个新的会话,以后服务器就可以记住这个会话状态。生命周期:会话超时,或者服务器端强制使会话失效。
session是针对单个客户和服务器进行会话的
aaplication是服务器所有客户和服务器会话的
用户独自的信息:Session
整个网站共享: Applicatinon
request:请求作用域,就是客户端的一次请求。
page:一个jsp(SUN企业级应用的首选)页面。
以上作用范围使越来越小, request和page的生命周期都是短暂的,他们之间的区别就是:一个request可以包含多个page页(include,forward以及filter)。举个简单的例子:
jsp(SUN企业级应用的首选)1.jsp(SUN企业级应用的首选)
<jsp(SUN企业级应用的首选):useBean id="beanID" class="xxx .xxx.BeanClass" scope="request" />
<jsp(SUN企业级应用的首选):include page="jsp(SUN企业级应用的首选)2.jsp(SUN企业级应用的首选)" /> &nb ......
jsp乱码问题,求助
下了个几年前的jsp源码,我装上后一直有中文乱码问题,数据库我用mysql,
并用sql-front操作,在用sql-front的时候已把字符设置为gb2312,
而且在sql-front中能正确显示中文,但就是在jsp页面上用getstring方法
得到乱码,我也用过getbytes(iso-8859-1)等方法试过还是没有用。
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" %>
<%@ page pageEncoding="gb2312" %>
这两条语句在jsp页面也都写了
求高人相助
提问者: 43385607 - 三级
最佳答案
把ISO-8859-1码转换成GB2312
*/
public static String ISOtoGB(String iso){
String gb;
try{
if(iso.equals("") || iso == null){
return "";
}
else{
iso = iso.trim();
gb = new String(iso.getBytes("ISO-8859-1"),"GB2312");
return gb;
}
}
catch(Exception e){
System.err.print("编码转换错误:"+e.getMessage());
return "";
0
回答者:匿名 2008-9-11 02:19
我来评论>>
一、输出中文
1 JSP页面头部加上语句:<%@p ......