php函数strrchr、substr、is_dir、unlink
今天在处理图片时用到了几个函数,不是很熟悉,记录下来和大家分享的同时自己也巩固一下。
首先是strrchr( string haystack, string needle )函数,这个函数是用来截取字符串的,举个例子比较形象:
$baseDir = d:/workspace/carpicture/gallery/logo/
$photoPath = gallery/logo/a5dd3d8c154c076c386b41a843d4fe56.jpg;
$photoName = strrchr( $photoPath, "/" );
//$photoName = /a5dd3d8c154c076c386b41a843d4fe56.jpg
然 后如果想得到图片的名字就需要对$photoName进行分析了,这时就用到了substr( string string, int start [, int length] )函数,注意第一个参数是等待处理的字符串,第二个参数是从字符串的那个位置开始截取,注意是从0开始哦,第三个参数就是你想要截取的字符串的长度;又是 例子:
//得到图片的名字
$photoName = substr( $photoName, 1, strlen( $photoName ) );
//$photoName = a5dd3d8c154c076c386b41a843d4fe56.jpg
我们的目的是要删除某个目录下的图片,下面的处理比较简单了
if( is_dir( $baseDir ) )
unlink( $baseDir.$photoName );
这 里需要说一下is_dir函数了,用来判断某个目录是否存在,注意目录最后只能到文件夹,不能加上文件夹下的具体文件,上面的例子如果写成is_dir( $baseDir.$photoName )就错了,结果会返回false;而判断一个文件是否存在是用函数file_exists();file_exists( $baseDir.$photoName )这样得到的判断结果是正确的。
也就是上面的代码可以写成:
if( file_exists( $baseDir.$photoName ) )
unlink( $baseDir.$photoName );