私はこれをかなり長い間検索してきましたが、コードがどのように表示されるのかわからないのです。私がブロックか何かを持っているかどうかはわかりませんが、ここに行きます:
$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
皆さん、私のためにこれに光を当ててくれませんか?