小编fja*_*rom的帖子

phpexcel中的单元格格式

我正在尝试用phpexcel读取一些excel文件,到目前为止工作正常.虽然phpexcel有点太聪明了,但是从我的单元格中移除了前导零.我想我需要告诉它将单元格视为文本字符串,而不是一般或数字.但我失败了.我甚至在stackoverflow上发现了关于此的线程,但建议的解决方案根本不起作用.

下面是我正在研究的东西的片段.

foreach(@$objWorksheet->getRowIterator() as $row){
    $cellIterator = $row->getCellIterator();
    $cellIterator->setIterateOnlyExistingCells(false);
    foreach($cellIterator as $cell){
        #$objWorksheet->getStyle($cell->getCoordinate())->getNumberFormat()->setFormatCode('@');
        $cells[] = $cell->getValue();
    }
}
Run Code Online (Sandbox Code Playgroud)

任何的想法?我不想仅限于阅读数字内容,因为我无法控制用户将上传的内容.将一切都视为字符串将是完美的.

/ peder

php phpexcel

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

php守护进程可能的内存泄漏

我已经在php中编写了一个守护进程,并希望确保它不会泄漏内存,因为它将全天候运行.

即使是最简单的形式,守护进程的memory_get_peak_usage也会报告该脚本为每个循环消耗更多内存.另一方面,memory_get_usage不会增长.

问题是:我应该担心吗?我已经将守护进程剥夺了基本功能,但这仍然在发生.有什么想法吗?

#!/usr/bin/php -q

<?php
require_once "System/Daemon.php";
System_Daemon::setOption("appName", "smsd");
System_Daemon::start();
while(!System_Daemon::isDying()){
 System_Daemon::info("debug: memory_get_peak_usage: ".memory_get_peak_usage());
 System_Daemon::info("debug: memory_get_usage: ".memory_get_usage());
 System_Daemon::iterate(2);
}
Run Code Online (Sandbox Code Playgroud)

最后的注意事项+结论:我最终编写了自己的守护程序包装器,而不是使用pear的system_daemon.无论我如何调整这个库,我都无法阻止它泄漏内存.希望这有助于其他人.

最后的注意事项+结论2:我的脚本已经生产了一个多星期,并且仍然没有泄漏1个字节的内存.所以 - 在PHP中写一个守护进程实际上似乎没问题,只要你对它的内存消耗非常小心.

php memory-leaks daemon

3
推荐指数
1
解决办法
3216
查看次数

标签 统计

php ×2

daemon ×1

memory-leaks ×1

phpexcel ×1