小编Eri*_*rom的帖子

从文件PHP中删除前X行

我想知道是否有人知道如何在PHP中完成这项工作.我正在运行一个脚本,涉及打开一个文件,占用前1000行,用这些行做一些东西,然后php文件打开另一个自己的实例来接下一千行,依此类推,直到它到达文件的末尾.我正在使用splfileobject,以便我可以寻找某条线,这使我可以很好地将其分解为1000行块.我遇到的最大问题是性能问题.我正在处理拥有超过10,000,000行的文件,虽然它在前10,000行左右的速度非常快,但在此之后有一个巨大的指数减速,我认为只需要寻求这一点.

我想要做的是读取前几千行,然后从文件中删除它们,以便我的脚本始终读取前几千行.有没有办法在不将文件的其余部分读入内存的情况下执行此操作.我见过的其他解决方案涉及将每一行读入一个数组,然后摆脱前X个条目,但有一千万行会耗费太多的内存和时间.

如果有人有解决方案或其他建议可以加快性能,那将非常感激.

php performance fgets large-files splfileobject

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

字符串显示为等于数字

我的一些PHP中有一个奇怪的问题.似乎正在发生的是0被显示为等于字符串"done".这是发生了什么:

if(!isset($pointer)){
    $pointer = 0;   
}
error_log($pointer); //in this instance, I haven't set a pointer, returns 0
if($pointer == "done"){
    die();
}
Run Code Online (Sandbox Code Playgroud)

出于某种原因,第二个if语句触发并终止脚本.我无法弄清楚为什么,当$ pointer等于0时,它显然也等于"done".这是一件非常容易的东西吗?

我已经解决了这个问题,在第二个if语句中使用===给了我想要的结果,我只想理解它为什么不能在第一时间工作.感谢您的时间.

php string equals

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

jQuery滚动事件触发两次

我正在为一个页面制作一个无限滚动功能,并且遇到了一个问题,即该$( window ).scroll()函数似乎正在触发两次.我在stackoverflow上看到了类似的问题,但它们似乎与快速滚动相关,并且没有适当的位置来检查请求已经发送的天气.这是我现在正在使用的代码,我想这里有一些我很想念的东西.

var loading = false;
var scrollcount = 0;

$( window ).scroll( function(){
    scrollcount++;
    var scrolling = $( document ).scrollTop();
    var position = $( "#ajax-load" ).offset();
    if( scrolling + $( window ).height() > position.top - 200 && loading == false ){
        console.log( loading ); //returns 2 falses
        console.log( scrollcount ); //returns 2 of the same number
        console.log( $( document ).scrollTop() ); //returns same number
        loading = true;
        $( "#ajax-load" ).css( "display", "block" );
        $.get( "url/to/my/script", info …
Run Code Online (Sandbox Code Playgroud)

javascript jquery infinite-scroll

0
推荐指数
1
解决办法
3902
查看次数