私はこれをかなり長い間検索してきましたが、コードがどのように表示されるのかわからないのです。私がブロックか何かを持っているかどうかはわかりませんが、ここに行きます:
$start = 1;
$sstart = strval($start);
$scan = scandir('upload');
$result = null;
while($result==null)
{
foreach($scan as $value)
{
if(strpos($value,$start) == false)
{
$result = $start;
break 2;
}
else
{
$start = $start + 1;
break;
}
}
}
基本的に、ディレクトリをスキャンして'upload'、に保持されている番号のファイルを探します$start。この値がISNで見つからない場合$resultは、の値を取り$start、while()ループを終了します。それ以外の場合は、インクリメント$startして、ディレクトリ内のすべてのファイルを再度チェックします。
これで、このような非常によく似た関数が、問題なく機能する別のページで実行されます。ただし、これは常に1で停止するようです。
私のアップロードフォルダには間違いなくというファイルがありshowreel1.wmv、これを確実にスキャンします。(scandir配列をエコーしました)ただし、elseブロックに切り替わったようには見え$resultませんが、値「1」が見つからなかったかのように設定を続行します。
関数で使用$sstartしてみましたが、効果はありません。もちろん、これはの値を文字列に変更します。strpos()$start
皆さん、私のためにこれに光を当ててくれませんか?