PHP에서 while 루프 문제가 있습니다. 다른 곳에서는 앰퍼샌드 기호를 사용하여 해결할 수있는 것처럼 보입니다. 아래는 그 예입니다. 파일 이름 (기본 이름)에 _n을 추가하려고합니다. _1이 있다면 _2, _2가 _3이되도록하고 싶습니다. 어떤 이유로 나는 변수에서 $ filename 변수를 업데이트 할 수 없으므로 루프에서 변경되지 않았다고 생각합니다.PHP : while 루프 - 조건에서 변경된 변수를 사용합니다.
$dir = 'images';
$filename = '123.jpg';
$i = 0;
while (file_exists($dir.'/'.$filename)) {
$filename = preg_replace('/^(\d*?)(\.jpg)$/',"$1_".(++$i)."$2",$filename);
}
echo $filename;
내가 뭘 잘못하고 있니?
나는 같은 결론에 도달했다. +1 –
정확합니다. 나는 그것을 어떻게 놓쳤는가? 고마워. – inhan
아직 잘못되었습니다. 나는 /^(\d+)(_\d+)?(\.jpg)$/와 함께 시도했지만 아직 행운이 없다. – inhan