腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
视频
沙龙
2
回答
PHP计数器在文件锁定后仍然丢失命中?
、
我使用的是以下基本PHP: <?php if (file_exists('count_file.txt')) { $fil = fopen('count_file.txt', r); $dat = fread($fil, filesize('count_file.txt')); echo $dat+1; fclose($fil); $fil = fopen('count_file.txt', w); fwri
浏览 2
提问于2012-07-18
得票数 0
1
回答
为什么PHP在输入时删除文件的内容?
我有一个文件:configuration.txt。 这个文件先由PHP读取,然后由同一个PHP写入,而C++程序以固定的时间间隔读取相同文件的内容。 PHP: $closeFlag = false; $arrayInputs = new SplFixedArray(3); $arrayInputs[0] = "URL not entered"; $arrayInputs[1] = "3"; $arrayInputs[2] = "50"; $configFilePath = "/var/www/html/configuration.txt
浏览 15
提问于2019-09-25
得票数 0
回答已采纳
2
回答
使用原生PHP函数下载/恢复PHP中的大文件
、
、
我必须在PHP中实现一个简单的文件下载客户端,能够下载大文件以及恢复它们。 有没有办法可以用PHP下载大文件(>700MB),而我的PHP内存限制仍然是128M?我猜这和写文件指针有关。有关于使用哪个文件处理函数的线索吗?有太多了。我猜是fopen,flock,(fwrite,fgets,fread),fclose。或者我应该使用cURL? 如何恢复已损坏的下载?脚本执行超时、用户停止脚本、远程服务器超时等?
浏览 0
提问于2010-12-13
得票数 0
回答已采纳
2
回答
php中的计数器重置
、
、
、
我有一个脚本,计算你访问一个页面的次数,我想做的是计数器重置时,它的财富5。即(从1 -5计数)和重置回1。有什么想法? $handle = fopen('counter.txt', 'r+'); flock($handle, LOCK_EX); $total = (int) fread($handle, max(1, filesize('counter.txt'))); $newTotal = ++$total; rewind($handle); fwrite($
浏览 2
提问于2012-09-26
得票数 0
1
回答
基于文本文件的顺序url旋转器无法工作。
、
、
我试图使用以下代码()创建基于文本文件的顺序url旋转器: <?php $linksfile ="urlrotator.txt"; $posfile = "pos.txt"; $links = file($linksfile); $numlinks = count($linksfile); $fp = fopen($posfile, 'r+') or die("Failed to open posfile"); flock($fp, LOCK_EX); $num = fread($fp, 1024); if($num&l
浏览 3
提问于2017-09-25
得票数 0
回答已采纳
2
回答
<?php $total;?>问题
、
、
可能重复: 我有这个: <?php if(isset($_POST['submit'])){ $f = fopen('counter.txt', 'r+'); flock($f, LOCK_EX); $total = (int) fread($f, max(1, filesize('counter.txt'))); if (isset($_POST['submit'])) { rewind($f); fwrite($f, ++$total); }
浏览 6
提问于2012-10-23
得票数 1
1
回答
读写时锁定文件
、
、
我有一个存储一些值的文件。用户可以向该文件添加内容,并更新该文件中的计数器。但是如果两个用户打开这个文件,他们将得到相同的计数器($arr['counter'])。我该怎么办?也许我可以为一个用户锁定文件,并在他更新计数器并向文件中添加一些内容后释放锁定?或者PHP已经锁定了文件一旦打开,我就不需要担心了?下面是我当前的代码: $handle = fopen($file, 'r'); $contents = fread($handle, filesize($file)); fclose($handle); $arr
浏览 2
提问于2012-11-05
得票数 0
回答已采纳
3
回答
php中的文件锁定
、
我让一个新手(隔壁的青少年)写了一些php代码来跟踪我网站上的一些使用情况。我不熟悉php,所以我想问一些关于并发文件访问的问题。 我的本地应用程序(在Windows上)偶尔会通过点击包含我的php脚本的URL来将一些数据记录到我的网站上。本机应用程序不会检查返回的数据。 $fh = fopen($updateFile, 'a') or die("can't open file"); fwrite($fh, $ip); fwrite($fh, ', '); fwrite($f
浏览 0
提问于2011-03-27
得票数 9
回答已采纳
3
回答
写NUL
、
、
、
我试图用PHP编写一个文件,这是我正在使用的代码(从到前面的问题): $fp = fopen("counter.txt", "r+"); while(!flock($fp, LOCK_EX)) { // acquire an exclusive lock // waiting to lock the file } $counter = intval(fread($fp, filesize("counter.txt"))); $counter++; ftruncate($fp, 0); // truncate file f
浏览 2
提问于2013-08-15
得票数 1
回答已采纳
1
回答
同时打开页面时点击txt文件中的计数器计数访问者
、
、
我用这个来统计我的网站的点击率: $counter_name = "counter.txt"; $f = fopen($counter_name,"r"); $counterVal = fread($f, filesize($counter_name)); fclose($f); $counterVal++; $f = fopen($counter_name, "w"); fwrite($f, $counterVal); fclose($f); 我想问你,当两个或更多的访问者同时打开页面时,是否会出现问题?如果是的话,如何使这个计数所有的点
浏览 2
提问于2015-05-16
得票数 1
回答已采纳
2
回答
如何锁定文件、读取内容和覆盖(截断)文件
、
当我使用w+选项时,它会在读取文件之前将其截断。我想锁定被多个脚本使用的文件,然后读取和覆盖,然后解锁。这是简化的代码。 $fp = fopen($file, "w+"); if(flock($fp, LOCK_EX)) { $content = fread($fp, $filesize); echo $content; // this is empty, must not be empty $job_queue = explode("\n", $content, LOCK_EX); $next_job = array_shif
浏览 37
提问于2021-10-11
得票数 0
回答已采纳
1
回答
在php中使用基于文件的计数器时,如何防止竞争条件?
、
、
、
、
我有一个小网页,提供不同的内容给用户基于一个计数器的%3 (模3)。计数器是用php从文件中读入的,此时计数器会递增,并根据旧值写回到文件中。我正在尝试让有问题的内容均匀分布,这就是为什么我要这样做的原因。 我担心,如果两个用户在相似的时间访问页面,那么他们可能都会得到相同的数据,或者其中一个可能无法增加计数器,因为另一个当前正在写入文件。 我对web-dev还是个新手,所以我不知道如何在没有互斥的情况下处理这个问题。我考虑过只有一个打开和关闭,并在里面做所有的操作,但我正在尝试最小化用户访问文件失败的时间。(这就是为什么读和写是在不同的打开中) 实现一种互斥的最佳方式是什么,以便一次只有一
浏览 37
提问于2021-06-19
得票数 0
回答已采纳
2
回答
简单的php页面会话访问计数器不工作
、
我有一个奇怪的问题,我不能解决它。 在一些网站上,我有这个脚本完美的工作…相同的代码,相同的服务器设置... 在php中,有一个简单的页面浏览点击计数器,它存储在本地的txt文件中。 然后我在我的网站的页脚版权区回显这个值,给客户一个快速的统计数据……它成长得如此之快,真是太酷了。 不管怎样..。我在纽约有个客户角落烧烤店。com (搜索引擎优化的目的,我添加了空格) 在那个网站上..多年来,它一直运行得很好。 现在是另一个网站,还有更多的网站..例如..。萨维亚诺。COM 这个坏了..。并且文本值为空。 这是counter.php代码 <?php session_start(); $
浏览 1
提问于2017-04-29
得票数 1
2
回答
共享访问:如何修复"fread():Length参数必须大于0"?
、
、
、
当我在多个脚本上运行这个函数时,一个脚本生成警告: fread():Length参数必须大于0 function test($n){ echo "<h4>$n at ".time()."</h4>"; for ($i = 0; $i<50; $i++ ){ $fp = fopen("$n.txt", "r"); $s = fread($fp, filesize("$n.txt") ); fclose($fp); $fp = fopen("$n.t
浏览 6
提问于2019-10-09
得票数 0
回答已采纳
1
回答
简单而通用的安全上传方式:使用随机数的XORing如何?
、
、
、
我正在尝试实现一种简单、通用的方式,允许通过php脚本上传和下载文件,而不必担心服务器的安全性。 有很多关于这方面的问题和答案,但据我所见,它们大多是几种方法的组合(检查文件扩展名、检查MIME类型、保存到受保护的目录、更改文件名等)。每一个都有自己的缺陷和/或漏洞。 我在想一个php-upload-script,它为每个上传的文件创建一个随机的4字节数,然后对文件的内容进行for运算(根据需要重复4个字节),最后在保存文件之前将4个字节附加到文件中。 下载时,必须再次切断文件的4个字节,内容将与它们一起XORed,并将结果发送到客户端。 这样,我可以确保我保存在服务器上的文件将不会是可执行的
浏览 9
提问于2017-06-24
得票数 1
4
回答
多个用户同时使用PHP写入同一个文件
、
、
、
我有一个网站,在同一时刻,可以有多个用户同时写入同一文件。下面是我的代码的一个例子。 PHP5.6.20 <?php $root=realpath($_SERVER["DOCUMENT_ROOT"]); $var=time()."|"; echo $var."<br/>"; $filename=$root."/Testing/Testing/test1.txt"; $myfile=fopen($filename,"a"); fwrite($myfile,$var); fclose($myfile
浏览 4
提问于2017-09-02
得票数 6
回答已采纳
5
回答
PHP按日期命中计数器
、
、
我使用以下代码对一个命中计数器: $fp = fopen("counterlog.txt", "r"); $count = fread($fp, 1024); fclose($fp); $count = $count + 1; $fp = fopen("counterlog.txt", "w"); fwrite($fp, $count); fclose($fp); 在该文件中,我只有一个数字,但我想以下列方式获得一个文件: 18/09/2015 10 19/09/2015 11 因此,我希望计数按日和日期分组,用
浏览 5
提问于2015-09-19
得票数 3
回答已采纳
1
回答
遭受严重ddos攻击的php fopen()和fwrite()
、
、
、
、
在正常情况下,一切正常,我可以使用fopen()和fwrite()写入和创建新文件,但在“严重”DDOS攻击下,当文件指针位于0时,我无法向file.eg写入任何内容。使用"w“mod,结果将是一个空白文件,但使用"a”或"c“mod,如果文件不存在或为空,则不会写入任何内容(也只会创建一个空白文件),但如果文件包含某些字符,则将在字符后面写入或将清除并分别重写新字符。当DDOS停止时,一切都会好起来的。这是我用来测试的简单代码,有什么问题吗?我能修好它吗? 我正在使用ubuntu中的php5和apache和lighttpd... <?php $fp = fope
浏览 9
提问于2012-11-13
得票数 1
2
回答
使用PHP获取页面视图计数器中的异常错误
我有页面视图计数器脚本,其中fwrite在.txt文件中,我在另一个文件中回显它,在那里我必须显示页面视图。计数器更新脚本是: $handle = fopen("counter.txt", "r"); if(!$handle){ echo "could not open the file" ; } else { $counter = (int ) fread($handle,20); fclose ($handle); $counter++; $handle = fopen("counter.
浏览 2
提问于2021-01-04
得票数 0
回答已采纳
3
回答
Fopen、fread和flock
、
、
我需要锁定文件,读取数据,写入文件,然后关闭它。我遇到的问题是我正在尝试为fopen找到正确的模式。 With 'a+‘-始终附加数据,with 'w+’打开时截断所有数据,with 'x+‘-无法锁定文件。 这是我的代码: $fh_task = fopen($task_file, 'w+'); flock($fh_task, LOCK_EX) or die('Cant lock '.$task_file); $opt_line = ''; while(!feof($fh_task)){ $opt_line .= fr
浏览 0
提问于2011-04-16
得票数 4
回答已采纳
1
回答
PHP flock():我可以在file-get- and file-put-content (read-modify-write)中使用它吗?
、
、
、
我想在拥有独占锁的情况下对文件进行读-修改-写操作。显然,我可以使用flock()并执行序列fopen、flock、fread、fwrite、flock、fclose,但是如果我可以使用file_get_contents和file_put_contents,我的代码会看起来更整洁。然而,我需要锁定这两个进程,我想知道是否可以使用flock“以某种方式”做到这一点。当然,危险的是,我会写一些看似有效但实际上并没有锁定任何东西的东西:-)
浏览 14
提问于2018-08-11
得票数 1
3
回答
PHP有关写入文件的问题
、
如果我创建了一个计数器程序,基本上加载了文本文件"counter.txt“,然后它读取该文件,如果它包含一个数字,则将该数字加1,并用该数字更新该文件并保存该文件。 上面程序的代码在假设每秒执行1次的情况下工作得很好,但是当执行时间变得非常高时,例如每秒100次,问题就开始了。 我面临的问题是,文件内容有时会被擦除,有时计数器不能正确计数。假设我每秒运行100次执行,但计数只会增加10次。我肯定所有的执行都会完成,因为每次执行都会在递增数字后写入一个文件,并且有100个文件写入另一个目录中的执行次数,但中的计数只会递增10。 <?php $File = "cou
浏览 0
提问于2011-10-08
得票数 0
1
回答
换行符在我的php程序中不起作用吗?
、
当我在我的php程序中向文本文件"words.txt“写入一个字符串时,换行符(\n,<br>)不起作用,我从该文件中读取的所有内容都显示在一行上。 我尝试过使用<br />、/n、\n、<br>。我尝试将它们放在不同的位置(写入文件的位置和读取文件的位置)。 <!DOCTYPE html> <html> <head> <title>Glossary</title> </head> <body> <fo
浏览 10
提问于2019-04-16
得票数 0
回答已采纳
1
回答
在php中读取和覆盖文件内容的最有效方法是什么?
、
、
、
我希望将文件读入字符串,修改内容并将处理后的字符串写回文件。另外,对服务器的另一个请求可能启动得太早,并试图在第一个文件完成之前编写相同的文件--这种情况绝不能发生(到目前为止,我使用了flock) --如果脚本在释放锁之前一直阻塞,情况会更好。 下面是一些不完整的方法 $h = fopen($fp, 'a+'); flock($h, LOCK_EX); $oTxt = ''; while (!feof($file)) { $oTxt .= fread($h, 8192); } rewind($h); ftruncate($h, 0) fwrite($h
浏览 2
提问于2015-07-20
得票数 1
回答已采纳
3
回答
在保持锁定的同时读取和写入文件
、
、
通过将当前计数存储在文件中,我正在制作一个简单的页面加载计数器。我想这样做: 读取当前计数(fread)Increment it (++)写入新计数(fwrite)Unlock文件/关闭it (flock/fclose) 能做到这一点而不丢失锁吗? 据我所知,文件无法写入而不丢失锁。解决这个问题的唯一方法是使用"r+“模式编写一个字符,然后对字符进行计数。
浏览 4
提问于2010-03-15
得票数 12
回答已采纳
2
回答
请求帮助将链接计数器(txt文件)添加到php重定向链接代码
、
、
我请求帮助为我的链接重定向代码添加一个计数器。 链接重定向代码如下所示: <? $id = preg_replace("/[^0-9]/","",$_GET['id']); $x[101] = "http://www.ebay.com"; $x[102] = "http://www.google.com"; $x[103] = "http://wikileaks.org"; $x[104] = "http://potato.com"; if (isset($x[$id])
浏览 2
提问于2015-11-09
得票数 0
回答已采纳
1
回答
使用flock()的PHP计数器问题
、
、
我有个柜台的问题。我需要计算两个变量,用|分隔,但有时计数器不会增加变量的值。 numeri.txt (计数器): 5240|593389 这是PHP脚本: $filename="numeri.txt"; $fp=fopen($filename,"r"); if(!flock($fp,LOCK_SH)) { while(true) { usleep(100000); if(flock($fp,LOCK_SH)) { break; } } } $cont
浏览 1
提问于2013-04-21
得票数 1
1
回答
如果.csv文件中有相同的手机号码,则php删除重复
、
、
我有一个单独的php脚本文件,它通过html联系人表单保存一个数字csv值。我希望根据csv文件中的移动电话条目最多有2个重复行,而且我希望删除当前的记录。我使用$_GET()(没有$_POST()函数)函数记录所有条目,然后保存到文件中。我只是在删除重复的问题,如果移动号码已经两次在文件中。任何帮助都将不胜感激。 **在**下面添加了更多的代码和注释 我已经编辑了代码,但是我在删除副本方面仍然遇到了麻烦,更不用说先检查两个杜普斯了。在“我有了一些功能(帮助!)”之后,我将进行消毒和更好的代码。再次感谢你的帮助:) <?php $filename = "input.csv"
浏览 3
提问于2014-05-06
得票数 0
2
回答
警告: flock()期望参数1是资源,字符串给定
我在PHP中有一个非常简单的程序,不想工作。由于未知的原因,它返回与主题相同的错误。 $file = 'counter.txt'; $counter = file_get_contents($file); if(flock($file, LOCK_EX)){ $counter += 1; echo $counter; $write = fopen($file, 'w') or die('Unable'); fwrite($write, $counter); flock($file,LOCK_UN); }
浏览 1
提问于2018-09-08
得票数 1
回答已采纳
1
回答
在PHP中读取文件时,我应该使用flock吗?
、
、
、
、
好的,我对PHP很陌生,书中的例子显示,当我在php中写入一个文件时,我应该在打开文件后使用flock($fp,LOCK_EX),然后在关闭文件之前使用flock($fp,LOCK_UN)。如下所示: $fp = fopen("$DOCUMENT_ROOT/order.txt", 'ab'); flock($fp, LOCK_EX); fwrite($fp, $outputstring, strlent($outputstring)); flock ($fp, LOCK_UN); fclose($fp); 但是,在另一个如何读取文件的示例中,我不确定作者是否忘记
浏览 4
提问于2014-11-16
得票数 1
回答已采纳
2
回答
共享锁、独占锁和数据损坏
、
、
我的问题是:在读取期间不使用共享锁是否会导致写入错误,即使写入操作是使用独占锁? 假设我想创建一个基于文件的计数器,如下所示: //increment counter by 1 $fp = fopen($path, 'r+b'); if (flock($fp, LOCK_EX)) { //read fseek($fp, 0, SEEK_END); $size = ftell($fp); fseek($fp, 0, SEEK_SET); if ($size == 0) { $counter = 0; } else
浏览 4
提问于2013-02-23
得票数 2
回答已采纳
3
回答
在php中读取和覆盖文件内容的最好方法是什么?
、
、
、
、
在php中,打开一个文件,读取内容,然后根据原始内容用一些输出覆盖文件内容,最干净的方法是什么?具体地说,我试图打开一个填充了项目列表(由换行符分隔)的文件,处理/向列表中添加项目,从列表中删除最旧的N个条目,最后将列表写回文件中。 fopen(<path>, 'a+') flock(<handle>, LOCK_EX) fread(<handle>, filesize(<path>)) // process contents and remove old entries fwrite(<handle>, <co
浏览 0
提问于2011-08-20
得票数 4
2
回答
由于xmlhttp.send(NULL),txt中的计数被重置;!
、
、
我有以下代码: index.html function MakeRequest() { var xmlHttp = getXMLHttp(); xmlHttp.onreadystatechange = function() { if(xmlHttp.readyState == 4) { HandleResponse(xmlHttp.responseText); } else{HandleResponse(xmlHttp.responseText);} } xmlHttp.open("GET",
浏览 3
提问于2014-05-11
得票数 2
回答已采纳
1
回答
使用libssh2的sudo
、
<?php $ssh = ssh2_connect('domain.tld'); ssh2_auth_password($ssh, 'username', 'password'); $shell = ssh2_shell($ssh); echo fread($shell, 1024*1024); fwrite($shell, "sudo ls -la\n"); $output = fread($shell, 1024*1024); echo $output; if (preg_match('#[pP]asswor
浏览 1
提问于2013-01-14
得票数 3
3
回答
使用flock - file锁定的PHP问题
、
、
、
我在使用PHP 函数时遇到了一个问题。我需要写两个不同的变量($O和$o),但通常不会写第二个变量($o),可能是因为文件连续写了两次。 代码如下: include_once "changevar.php"; changevar("O",$seguimedia,$filename,0); changevar("o",$offerta,$filename,0); $seguimedia、$filename和$offerta设置正确。 changevar.php: function changevar($varname,$newval,$filena
浏览 3
提问于2013-05-28
得票数 1
2
回答
将数据从数据库写入txt文件
、
、
我不能将数据从数据库写入txt文件,只能从数据库写入最后记录。 样本工作代码: include '01_config.php'; db_connect(); if(empty($_POST)) { define('DB_HOST','localhost'); define('DB_USER','root'); define('DB_PASS','password'); define('DB_NAME','data_base
浏览 1
提问于2013-10-09
得票数 0
回答已采纳
3
回答
删除TXT文件中的特定行
我有一个包含数百万行文本的.txt文件 下面的代码删除.txt文件中的特定行(.com域)。但是大文件做不到:( <?php $fname = "test.txt"; $lines = file($fname); foreach($lines as $line) if(!strstr($line, ".com")) $out .= $line; $f = fopen($fname, "w"); fwrite($f, $out); fclose($f); ?> 我想删除某些行,并将它们放入另一个文件中 例如,站点的域名列表。
浏览 1
提问于2018-04-19
得票数 2
2
回答
同时写入同一文件
、
、
、
好的,我知道在这个网站上也有类似的问题,但是这些问题和提供的答案都不是我所需要的。 我正在建立基于普通文件的CMS。例如,如果: 2,3,10.. come =‘come 2’>contact_form_messages_container.php文件:2,3,10.在"w“模式下,fwrite请求进入相同的php文件,其中包含简单的特定页面访问,同时?。 我知道flock()函数,但它可能会同时发生两个或多个flock()请求.有人知道这个问题的解决办法吗?我脑子里唯一想到的事情是usleep()-ing脚本使用了一段时间,直到目标文件可用为止,但我不知道它是否工作,在哪里执行
浏览 4
提问于2012-04-24
得票数 3
回答已采纳
2
回答
flock()一直在等待锁的释放。
、
、
所以我想锁定一个文件,这样我就可以看到php进程已经在运行了。示例代码如下所示: <?php $file = fopen("test.txt","w+"); if (flock($file,LOCK_EX)) { fwrite($file,"Write something"); sleep(10); flock($file,LOCK_UN); } else { echo "Error locking file!"; } fclose($file); ?> 但问题
浏览 8
提问于2014-11-27
得票数 0
回答已采纳
1
回答
在下载文件时,echo +fread会造成什么开销?
、
如果我有一个php脚本,它只执行以下操作. $file = fopen($path, "r"); flock($file, LOCK_SH); echo fread($file, filesize($path)); flock($file, LOCK_UN); fclose($file); ...how开销很大是由从浏览器访问脚本引起的,而不是简单地访问实际文件?在内部,整个文件是复制到某种缓冲区,然后再吐出,还是几乎是同一回事?
浏览 5
提问于2016-05-16
得票数 0
回答已采纳
4
回答
为什么从我刚刚编写的php://内存包装器中读取会失败?
我尝试使用fread()从php://memory包装器中读取数据,但fread()总是返回false。我的代码很简单: $file_handle = fopen('php://memory', 'w+'); // Have tried php:temp also. fwrite($file_handle, 'contents'); $file = fread($file_handle, filesize($file_handle)); // Have also tried 99999 for filesize. 在fread()之后,$file
浏览 1
提问于2013-04-20
得票数 6
回答已采纳
2
回答
在没有错误的并行循环中追加CSV
、
、
我需要使用并行循环附加一个CSV,我想知道是否有任何方法可以做到这一点而没有错误。 基本上,我需要处理大量数据,而您不能将它们全部放入内存中,因此我需要附加结果。在lapply循环中,这将永远耗费时间,所以我使用pbapply包。但在附加文件时,由于通常会同时附加两个核心,因此会扰乱csv配置。 我假设有一些方法可以在某个集群正在处理某个文件时锁定该文件的连接,并在该连接关闭时让其他集群等待一段时间来重试,但我找不到这样做的方法。 下面是我遇到的错误类型的一个示例: library(parallel) library(pbapply) library(data.table) write_ra
浏览 0
提问于2019-04-11
得票数 1
1
回答
如何锁定文件以防止多个读/写同一文件的ajax请求?
、
、
、
、
如果文件已经存在并且其中包含内容,我当前正在尝试阻止读取该文件。我正在使用flock方法来尝试阻止正在运行的脚本的其他实例访问它,但它不起作用。这只是多核服务器的问题。 while ($aEvent = current($aEvents)){ $sLockFile = '/var/tmp/'.md5($aEvent['id']).'.LCK'; $oFile = fopen($sLockFile, 'c+'); if (flock($oFile, LOCK_EX) && fgets($oFi
浏览 4
提问于2019-05-14
得票数 0
2
回答
锁是如何将日志写入平面文件的?
、
、
、
、
平面文件的读取并发性几乎是无限的(如果我错了,请告诉我);但是写的并发性是怎样的呢?考虑使用PHP编写一个简单的访问日志(用于访问),以附加以\n结尾的访问详细信息行。 fopen(); // in append mode fwrite(); fclose(); 由于我们有并发的访问者,系统(其中一个用户是wbserver/php用户)如何并发地编写视图日志? 我的困惑是:函数file_put_contents() (它是上述三个函数的包装器)有一个锁定选项(LOCK_EX)?使用这个锁定选项有好处吗?这将如何影响日志写入? 更新:我的问题是关于LOCK最初是如何工作的/如何影响将日志写入文件
浏览 3
提问于2012-05-29
得票数 5
3
回答
flock是否可能在LOCK_EX中返回false?
我在上发现了以下描述: 默认情况下,此函数将阻塞,直到获得所请求的锁为止。 在下面,我找到了以下示例代码: <?php $fp = fopen("/tmp/lock.txt", "r+"); if (flock($fp, LOCK_EX)) { // acquire an exclusive lock ftruncate($fp, 0); // truncate file fwrite($fp, "Write something here\n"); fflush($fp);
浏览 14
提问于2017-01-03
得票数 4
回答已采纳
1
回答
flock是否跨进程锁定文件?
、
、
下面的代码在调用file_get_contents文件不存在时会触发一个错误(尽管很少发生),即使上面只调用了几个file_exists语句。 我相信文件在file_exists被称为错误触发之间被cron作业删除了。 $isRead = self::FILE_READ === $action; $exists = file_exists($file); $handle = fopen($file, ($isRead ? 'r' : 'c+')); if ($handle) { $locked = flock($handle, ($isRead ? LO
浏览 2
提问于2019-04-07
得票数 2
回答已采纳
1
回答
是否可以在不关闭读取状态的情况下写入文件?PHP
我很想做个测试。我的问题是,是否可以同时打开文件进行读写,所以如果我对一个文件有更多的读写操作,我就不需要在循环中关闭读取状态、读取、打开写入状态、写入等等。 $filename = "test.txt"; $handle = fopen($filename, "rwb"); fseek( $handle , 15360 ); $contents = fread($handle, 51200); $start = microtime (true); fseek( $handle , 1 ); fwrite ( $handle , $contents ); fc
浏览 0
提问于2016-03-23
得票数 0
回答已采纳
1
回答
基本的PHP命中计数器是否经常丢失命中?
、
、
我使用了以下代码: if (file_exists('count_file.txt')) { $fil = fopen('count_file.txt', r); $dat = fread($fil, filesize('count_file.txt')); echo $dat+1; fclose($fil); $fil = fopen('count_file.txt', w); fwrite($fil, $dat+1); } else { $fil = fopen(&
浏览 4
提问于2011-12-19
得票数 1
1
回答
PHP和C边情况之间的flock()
、
、
、
我有一个PHP脚本,它接收发票并将其保存为Linux中的文件。稍后,一个基于C++无限循环的程序读取每个程序并进行一些处理。我希望后者能够安全地读取每个文件(只在完全写入之后)。 PHP侧代码简化: file_put_contents("sampleDir/invoice.xml", "contents", LOCK_EX) 在C++方面(使用C文件系统API),我必须首先注意,我希望保留一段代码,删除指定的发票文件夹中的空文件,这些文件是空的,只是为了正确处理从其他来源(而不是PHP )创建的空文件的边缘情况。 现在,这里还有一个C++侧代码简化: FILE*
浏览 5
提问于2020-07-09
得票数 0
回答已采纳
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
Apache和PHP结合
安装Apache,PHP和SQL
PHP和JS特性对比
隐藏和伪装Nginx和PHP版本号
HTML和PHP怎么连上
热门
标签
更多标签
云服务器
ICP备案
对象存储
实时音视频
即时通信 IM
活动推荐
运营活动
广告
关闭
领券