【问题标题】:Fatal error: Cannot use object of type SplFileInfo as array致命错误:不能将 SplFileInfo 类型的对象用作数组
【发布时间】:2019-06-19 08:27:34
【问题描述】:

我想从文件夹/folder/floder2获取所有图像,然后检查这些图像是否存在于数据库中,如果数据库中不存在则删除

下面是我的代码 -

$imgarray= array();

function rsearch() {
    global $imgarray;
    $directory= $_SERVER['DOCUMENT_ROOT'] . '/folder/folder1';
    $objects = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory));

    foreach($objects as $name){
        $imgarray[] = $name;
    }
}

$files = rsearch(); 

foreach ($dbArray as $dbImg ) {
    $Img = trim($dbImg['products_image'],"products/"); 

    foreach ($imgarray as $folderImg) {
        $ignore = Array(".", "..");

        if($Img == $folderImg){
            echo 'success';
        }else {
            unlink($folderImg);
            echo 'successfully deleted';
        }
    }
}

我正在低于print_r($folderImg);的类型

SplFileInfo Object ( 
    [pathName:SplFileInfo:private] => /var/www/vhosts/serverfoldername/project.com/projectfolder/folder/folder1/image1.jpg 
    [fileName:SplFileInfo:private] => image1.jpg 
)

我想打印这个来打印

[fileName:SplFileInfo:private] => image1.jpg

但我不知道如何调用这种类型的

Array ( 
    [0] => SplFileInfo Object ( 
        [pathName:SplFileInfo:private] => /var/www/vhosts/serverfoldername/project.com/projectfolder/folder/folder1/image1.jpg 
        [fileName:SplFileInfo:private] => image1.jpg 
    ) 
    [1] => SplFileInfo Object ( 
        [pathName:SplFileInfo:private] => /var/www/vhosts/serverfoldername/project.com/projectfolder/folder/folder1/imag2.png
        [fileName:SplFileInfo:private] => imag2.png 
    ) 
) 

【问题讨论】:

    标签: php zen-cart


    【解决方案1】:

    这将给出一个 SplFileInfo 对象的文件名http://php.net/manual/en/class.splfileinfo.php

    print_r($folderImg->getFilename()):
    

    【讨论】:

      猜你喜欢
      • 2013-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多