小编Sab*_*bya的帖子

如何在PHP中迭代非英文文件名

我有一个目录,其中包含几个文件,其中许多文件都有非英文名称.我在Windows 7中使用PHP.

我想使用PHP列出文件名及其内容.

目前我正在使用DirectoryIteratorfile_get_contents.这适用于英文文件名,但不适用于非英文(中文)文件名.

例如,我有像"एकऔरप्रोब्लेम.eml","hello鶨鹙鵨鶣鎹蓥.eml"这样的文件名.

  1. DirectoryIterator 无法使用获取文件名 ->getFilename()
  2. file_get_contents 即使我在其参数中硬编码文件名也无法打开.

我该怎么做?

php directory-listing directoryentry

15
推荐指数
1
解决办法
4642
查看次数

使用CodeIgniter进行用户身份验证

我正在使用PHP编写Web应用程序.我想为此使用MVC模式,并决定使用CodeIgniter.我的应用程序将有一些页面需要身份验证,而有些页面则不需要.我想以非常通用的方式设计它,这样就不会有代码重复.任何人都可以为此指出一些好的"设计/类结构"吗?

php authentication codeigniter

13
推荐指数
2
解决办法
3万
查看次数

在IE中,jquery的"X-Requested-With"标题变为"x-requested-with"(小写)

为什么要转换为小写?在Firefox中它是:"X-Requested-With".在IE中,它表示为:"x-requested-with"

ajax jquery internet-explorer http-headers

13
推荐指数
2
解决办法
6182
查看次数

Linux中的核心转储

我想在我的进程崩溃时创建核心转储.目前我正在遵循这种方法:

  1. 使用gcc/g ++的"-g"构建程序的特殊"调试"版本.
  2. 执行"ulimit -c unlimited"
  3. 现在,只要程序崩溃,我们就会获得核心转储.

但我希望尽量减少步骤数量,以便:

  • 应始终创建核心转储.即使它是"发布"版本.不应要求用户ulimit -c unlimited手动执行命令" ".
  • 核心转储的回溯应该能够提供调用的文件,函数和行号.这是人类可读形式的堆栈跟踪.
  • 我不想将程序构建为带有"-g"的调试版本.或者至少它不应包含生成人类可读堆栈跟踪所不需要的任何其他调试信息.因为这将是该程序的发布版本.

所以我有两个问题:

  1. 如何在程序的"发布"版本中创建核心转储?
  2. 总是.无需手动执行" ulimit -c unlimited"

linux crash gcc coredump crash-dumps

13
推荐指数
2
解决办法
2万
查看次数

如何使用ZooKeeper设计任务分发

我打算编写一个具有分布式工作进程的应用程序.其中一个将是Leader,它将任务分配给其他进程.设计领导者选举过程非常简单:每个过程都尝试在同一路径中创建一个短暂的节点.无论谁成功,都会成为领导者.

现在,我的问题是如何设计均匀分配任务的过程?这个的任何食谱?

我将详细介绍一下环境设置:

假设有10个工人机器,每个机器运行一个过程,其中一个成为领导者.任务在队列中提交,领导者接收它们并分配给工作人员.每当提交任务时,工作进程都会收到通知.

distributed-computing distributed-system apache-zookeeper

10
推荐指数
1
解决办法
3861
查看次数

9
推荐指数
1
解决办法
7005
查看次数

wordpress数据库中的事务

Wordpress正在使用MyISAM存储引擎.MyISAM不支持交易.

wordpress如何维护交易?

我的意思是如果wordpress有两个数据库写操作,它如何确保原子性?

php mysql wordpress

8
推荐指数
1
解决办法
2386
查看次数

如果我使用PHP,如何解决c10k问题?

我正在决定应用程序的体系结构,其中"Http KeepAlive"和"long polling"将用于更快的响应.PHP有什么能解决Tornado为c10k做的问题吗?

我在考虑使用nginx + PHP-FPM.但是,对于1000个活动连接,不会有1000个PHP-FPM进程吗?

然后我认为我们将遇到Apache与许多常设连接相同的问题.不是吗?

编辑:据我所知,如果我只想要HTTP KeepAlive,nginx就足够了.但是,如果我还想要龙卷风支持长时间的民意调查呢?PHP中有类似的东西吗?

php apache nginx

8
推荐指数
2
解决办法
2340
查看次数

更改PHP函数的默认字符集,如"htmlspecialchars"

我使用PHP 5.2.6,我的应用程序的字符集是UTF-8.

现在,我应该如何更改PHP的默认字符集?不是指定输出的mime时间和字符集的那个.

但是对于所有PHP函数,例如htmlspecialchars,htmlentities等,这将改变.

我知道,这些函数中有一个参数,它接受输入字符串的字符集.但我不想指定我使用的所有功能.如果我忘记某个地方,那将是一团糟.

我也知道,我可以包装这些函数并创建我自己的包装器,如:

function myHtmlize($str)
{
  return htmlspecialchars($str, ENT_COMPAT, 'UTF-8');
}
Run Code Online (Sandbox Code Playgroud)

我也是,不喜欢这个解决方案.

我真的想告诉PHP,默认情况下将'UTF-8'作为字符集.不是'iso-8859-1'.

可能吗?

php character-encoding

7
推荐指数
1
解决办法
7727
查看次数

git重命名/删除混淆

我对一个特定的git行为有一个困惑:

以下是步骤和情况(稍后还会给出命令列表):

  1. 我有两个分支:master和XBranch
  2. 两者都有一个文件src/a.txt.它的内容是"旧内容"
  3. 在XBranch我重新命名的src/A.TXT为src/b.txt,使用:mv,git rm,git add.
  4. 在master中重命名文件a.txt.在提交期间,我做了git rm src/a.txt但忘了做git add src/b.txt 我在做的主人:git rm src/a.txtgit commit

  5. 在master中,我将文件b.txt的内容编辑为"New Content

  6. 掌握我做git add src/b.txtgit commit
  7. 在大师我做: git merge XBranch

文件src/b.txt冲突,这是完全可以理解的.但内容是" Old Content".为什么?

为什么不是这样的:

<<<<<<< HEAD
New Content
=======
Old content
>>>>>>> XBranch
Run Code Online (Sandbox Code Playgroud)

命令列表:

sabya@SABYA-PC d:/merge_temp/test/case2
$ mkdir source

sabya@SABYA-PC d:/merge_temp/test/case2
$ git init
Initialized empty Git repository in d:/merge_temp/test/case2/.git/

sabya@SABYA-PC d:/merge_temp/test/case2 (master)
$ mkdir …
Run Code Online (Sandbox Code Playgroud)

git git-merge

7
推荐指数
1
解决办法
2万
查看次数