Chinaunix首页 | 论坛 | 认证专区 | 博客 登录 | 注册

lsstarboy的学习日记lsstarboy.blog.chinaunix.net

海纳百川有容乃大,壁立千仞无欲则刚。

  • 博客访问: 2867652
  • 博文数量: 659
  • 博客积分: 15410
  • 博客等级: 上将
  • 技术积分: 6913
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-16 08:11
  • 认证徽章:
个人简介

独学而无友,则孤陋而寡闻!

文章分类

全部博文(659)

文章存档

2017年(7)

2016年(43)

2015年(25)

2014年(15)

2013年(41)

2012年(62)

2011年(125)

2010年(157)

2009年(94)

2008年(45)

2007年(45)

微信关注

IT168企业级官微



微信号:IT168qiye



系统架构师大会



微信号:SACC2013

订阅
热词专题

分类: PHP

环境:
1、ftp,上传受windows影响,编码是GBK或GB2312
2、PHP,受WEB系统影响,用UTF-8;
3、主机系统:utf-8

问题:
  用php来读FTP上传的文件列表:
  shell_exec( 'ls -l' .escapeshellarg( $path) );
    经常读不到文件。
  经调试,发现shell_exec很多时候输出: ls -l ''
  也就是空文件。

原因及解决:
  escapeshellarg受locale的影响,在有汉字的时候,错误的编码会导致它的返回结果为空。
  
  所以一定要用setlocale()函数来设置locale:

  setlocale('GBK');

  另外提醒:由于web系统 是utf-8,为了防止其他意外,最好在escapeshellarg后再setlocale('utf-8');
  

     lsstarboy.blog.chinaunix.net,转载请注明出处.......




--end--
阅读(1334) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册