[英]PHP: What's wrong with this code, and why won't the variable increment?
$blogDir = 'blog/';
$blogdirHandle = opendir( $blogDir );
$checkingFile;
$number = 0;
$codeNumber = '-'.$number.'-';
if( $blogdirHandle = opendir( 'blog/' ) )
{
while( ( $checkingFile = readdir( $blogdirHandle ) ) !== false )
{
if( $checkingFile != '.' && $checkingFile != '..' && !is_dir( $checkingFile ) && strpos( $checkingFile, $codeNumber ) !== false )
{
$number++;
}
}
closedir( $blogdirHandle );
}
What I'm trying to do is: 我想做的是:
Go through the $blogDir directory, and search for a file that has the same $codeNumber ( -$number- ), and if a file is found, then increase $number by one and search until all files are searched through. 进入$ blogDir目录,搜索具有相同$ codeNumber(-$ number-)的文件,如果找到了文件,则将$ number加1并进行搜索,直到搜索完所有文件。 For some reason it's not working.
由于某种原因,它不起作用。 It won't increase the value of $number, even though there are files with the same $codeNumber in the directory.. Any help?
即使目录中存在具有相同$ codeNumber的文件,它也不会增加$ number的值。
Once you increment $number
, you need to re-assign $codeNumber
inside your loop: 一旦增加
$number
,您需要在循环内重新分配$codeNumber
:
if( $blogdirHandle = opendir( 'blog/' ) )
{
while( ( $checkingFile = readdir( $blogdirHandle ) ) !== false )
{
if( $checkingFile != '.' && $checkingFile != '..' && !is_dir( $checkingFile ) && strpos( $checkingFile, $codeNumber ) !== false )
{
$number++;
$codeNumber = '-'.$number.'-';
}
}
closedir( $blogdirHandle );
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.