php session默认存放位置,php.ini 里面的 session.save_path
采用的是php的缓存。这部分可以自己写,例如把session放到某个cache服务中(redis,memcached)
参考:http://www.php.net/manual/zh/book.session.php




請問各位 php 前輩,有無可能用 include 或 require 整個目錄下的檔案

例:

require(models/survey/SurveyItem.inc');

改成

require(models/survey/');


另外請問一下,同一 php 檔案下是否不能出現 2次以上
相同的 function?

例:

在一php檔裡有 session_start ,而 require的檔案裡 也有 session_start
, 在我local 端的server裡,跑起來會出現

Notice: A session had already been started - ignoring session_start() in C:\xxxxxxxxx.php on line 43

但在虛擬主機上又很正常,為何會如此呢?

感謝~~

在XP系统下,我配置了session
如下:
session.save_path = "C:/temp"
session.auto_start = 1


将安全等级调低,在php.ini中
作者: freelin 发布日期: 2004-5-26
之前我从来没设过安全等级,请问是哪一选项?谢
作者: suse 发布日期: 2004-5-26
php.ini中error_reporting = E_ALL & ~E_NOTICE
或在程序开头加上:
error_reporting(E_ALL & ~E_NOTICE);
还不行还是你配置有问题。。。
            以本人性格,就是喜欢抄别人的,这次来点自己的吧,其实也是大家的,一哥们去百度参加面试的题目。。。呵呵,见笑!
如百度4
baidu4:
11 11 11 22 33 44 ...
baidu4中有一行以空格隔开的十进制数,用shell编程求出它们的和并打印。
他shell不行,他用php写了一个。
求正解:
我写了一个如下:
FILE="baidu4"
read line < $FILE
r=0
for num in $line;do
r=$(expr $num + $r)
done
echo $r
在猜朋友写的php,我也写一个PHP的:
<?php
$lines = file('baidu4');
$result2 = 0;
foreach ($lines as $line_num => $line) {
  $result = explode(" ",$line);
  for($i=0;$i<count($result);$i++)
    {
    $result2 += $result[$i];
    }
  echo $result2;        
}
?>

再来个awk的:
#!/usr/bin/awk -f
BEGIN{}
        {
                sum = 0;
                for (i=1; i<=NF; i++)
                {
                        sum += $i;
                }
                printf("count == [%d]\n",  sum);
        }
END{}



我在用c语言写一个吧:
太难用指针,让玩得好的指导下写了一个感谢罗玉峰,可以求多行的结果呢:
#include <string.h>
#include <stdio.h>
char *pp,*p;
char linebuf[4096];
char tmp[1024];
int i,tmpl;
int  main(void)
{
FILE *fp;
if ( ( fp = fopen ("baidu4", "r") ) == NULL )
{
       printf("cant't open the baidu4 file ");
       exit(0);
}
while(fgets(linebuf,4096,fp))
{    
linebuf[strlen(linebuf)-1] = 0;
pp=linebuf;
tmpl=0;
p=strchr(pp,' ');
while(p != NULL)
{
  strncpy(tmp, pp, p-pp);
  printf("tmp=[%s]\n", tmp);
  tmpl+=atoi(tmp);
//  memset(tmpl, 0x00, sizeof(tmpl));
  memset(tmp, 0x00, sizeof(tmp));
  pp=p+1;
  p=strchr(pp,' ');
}
if (*pp)
{
  strcpy(tmp, pp);
  tmpl+=atoi(tmp);
  printf("tmp=[%s]\n", tmp);
}
printf("total=%d",tmpl);
memset(linebuf, 0, sizeof(linebuf));
//memset(tmpl, 0, sizeof(tmpl));
printf("----------------\n");
}
return 0;
}
那位哥们能用java写个就完美了,:-)
这位留言的哥哥真高,用sed替换和管道导入计算器bc来计算,确实很高:

Exaple: baidu4
11 11 11

jackxiang@jackxiang-laptop:~$ sed 's/ /+/g' baidu4
11+11+11
jackxiang@jackxiang-laptop:~$ sed 's/ /+/g' baidu4| bc
33
jackxiang@jackxiang-laptop:~$

感谢那个留言的哥们,bc
echo " 930307 -   921336"|bc

[/home/jackxiang/bc]# echo " 930307 -   921336"|bc
8971
   将10进制数转换成16进制数

  比如转换 65535 为 16进制

  echo 'obase=16; 65535' | bc

  得到 FFFF



echo 'obase=16; ibase=8; 177777' | bc

  可以直接将八进制的数177777变成十六进制,也是FFFF
分页: 19/19 第一页 上页 9 10 11 12 13 14 15 16 17 18 19 最后页 [ 显示模式: 摘要 | 列表 ]