파일을 덮어 쓰는 동안 문제가 있습니다. 나는 영원히 노력했지만 가끔 (어쩌면 시간의 문제가 있음) nothings가 제대로 작동하는 것 같습니다. 코드는 다음과 같습니다.PHP 덮어 쓰기 파일 문제
include_once "changevar.php";
changevar("O",$seguimedia,$filename,0);
changevar("o",$offerta,$filename,0);
$ seguimedia, $ filename 및 $ offerta가 올바르게 설정되었습니다.
changevar.php이 경우
function changevar($varname,$newval,$filename,$type)
{
while(!$fp=fopen($filename,"c+"))
{
usleep(100000);
}
while(!flock($fp,LOCK_EX))
{
usleep(100000);
}
while(!include($filename))
{
usleep(100000);
}
ftruncate($fp,0);
rewind($fp);
$$varname=$newval;
if($type==0)
{
foreach(array("u","p","t","d") as $v){$$v=str_replace("\\","\\\\",$$v);}
$text="<?\$o=$o;\$u=\"$u\";\$c=$c;\$m=$m;\$p=\"$p\";\$C=$C;\$id=\"$id\";\$t=\"$t\";\$d=\"$d\";\$O=$O;?>";
}
else
{
$text="<?\$impressions=$impressions;\$clickunici=$clickunici;\$clicknulli=$clicknulli;\$creditiguadagnati=$creditiguadagnati;\$creditiacquistati=$creditiacquistati;\$creditiutilizzati=$creditiutilizzati;?>";
}
fwrite($fp,$text);
flock($fp,LOCK_UN);
fclose($fp);
}
함수 changevar()는 파일 $ 파일명에서 두 변수의 ($ O 및 $ O)를 변경해야하지만, 종종 실패하고 아무것도 변화하지 않는다. 이 문제를 어떻게 해결할 수 있습니까?
권한이 올바르게 설정을 참조하십시오. 나는 권한 1 대신 덮어 쓰기 문제라고 생각한다. – Megadv
쓰기 권한이 없다면 정말로 파일에 쓸 수 없다. 덮어 쓰기는이 컨텍스트에서 사용 권한의 동의어가 될 수 있습니다. 그 때만 발생하는 경우 다음 프로그램의 '흐름'에 이상이있을 수 있습니다. 다소 모르는 사이에 해독하기가 다소 어렵습니다. 가장 좋은 방법은 xdebug 또는 zend 디버거를 사용하여 단계별로 디버깅하는 것입니다. 죄송합니다 더 도움이 될 수 없습니다. 모두 제일 좋다. 문안 인사 – Rijndael