版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/enjoy_sun_moon/article/details/81974533
oss搜索图片
$listObjects = array(); // 获取的文件列表, 数组的一阶表示分页结果
$listPrefixs = array(); // 获取的目录列表, 数组的一阶表示分页结果
$storageList = array();
while (true) {
$options = array(
'delimiter' => '/',
'prefix' => $path,
'max-keys' => 500,
'marker' => '',
);
try {
$listObjectInfo = $ossClient->listObjects($bucket, $options);
} catch (OssException $e) {
printf(__FUNCTION__ . ": FAILED\n");
printf($e->getMessage() . "\n");
return;
}
// 得到nextMarker,从上一次listObjects读到的最后一个文件的下一个文件开始继续获取文件列表。
$nextMarker = $listObjectInfo->getNextMarker();
$listObject = $listObjectInfo->getObjectList();
$listPrefix = $listObjectInfo->getPrefixList();
$listObjects[] = $listObject;
$listPrefixs[] = $listPrefix;
if ($nextMarker === '') {
break;
}
}
因为listObjects listPrefixs 得到的是一个对象 无法使用 所以要 遍历 使用 getkey getsize getlastmodified 来获取具体的值 组成数组
foreach ($listObjects[0] as $objectInfo) {
$storageList['file'][] = objectInfoParse($objectInfo);
}
//foreach ($listPrefixs[0] as $prefixInfo) {
// $storageList['dir'][] = prefixInfoParse($prefixInfo);
//}
$files = $storageList['file'];
array_shift($files);
function prefixInfoParse($prefixInfo){
return array(
'dir' => $prefixInfo->getPrefix(),
);
}
/* 解析 objectInfo 类 */
function objectInfoParse($objectInfo) {
return array(
'url' => $objectInfo->getKey(),
'size' => $objectInfo->getSize(),
'mtime' => $objectInfo->getLastModified(),
);
}
这样是为了把封面图和内容图分开 以免混淆 增加资源浪费
数据库搜索图片
$files = array();
if(is_array($type)){
$sql = "select id,file_type,url,sizess,atime from oa_material where file_type =".$type;
}else{
$sql = "select id,file_type,url,sizess,atime from oa_material where file_type =".$type;
}
$query = mysql_query($sql);
while($row=mysql_fetch_assoc($query)){
$files[] = array(
'url'=> $row['url'],
'size'=> (int)$row['size'],
'mtime'=> date('Y-m-d : H:i:s',$row['atime']),
);
}