尝试计算目录目录中的文件,但返回错误

时间:2016-09-05 21:47:59

标签: php

我有一个图片上传脚本,用于创建新图像并将其保存到目录中。我想计算该目录中的图像数量,这样我就可以将该总数加一,添加到我的新图像名称中。该目录位于public_html目录中。

另外,我想使用一个三位数的编号系统,这样如果数字说明,只有一个数字比我的开关在前面增加两个零,使其成为一个三位数字。

我的PHP脚本:

<?php
$directory = "/galleries/painting_parties/" ;
$directory_list = scandir( $directory ) ;
$numb = count( $directory_list ) ;
++$numb ;
$numb .= "" ;
$numblen = strlen( $numb ) . "" ;

switch( $numblen )
   {
   case "1" : $n = "00" . $numb ; break ;
   case "2" : $n = "0" . $numb ; break ;
   case "3" :
   default : $n = $numb ;
   }

$new_image_name = $directory . "marias_art_" . $n . "_new_image.jpg" ;
?>

1 个答案:

答案 0 :(得分:3)

如果目录是问题,请尝试不使用这样的前导斜杠,因为前导斜杠表示转到根目录然后再​​从那里开始

$directory = "galleries/painting_parties/" ;

看起来还有很多不必要的代码

尝试

<?php
$directory = "/galleries/painting_parties/" ;
$directory_list = scandir( $directory ) ;
$numb = count( $directory_list ) ;
// maybe subtract 2 for the . and .. directories, up to you
// $numb -= 2;
// make it a 4 char num with leading zeros
$n = sprintf('%04d', ++$numb);
$new_image_name = $directory . "marias_art_" . $n . "_new_image.jpg" ;
?>