我正在尝试用php从文件夹中获取所有图像,并将它们链接到另一个文件夹,其中有pdf文件。两个名字都是一样的。
我的代码如下:
$dir_jpg = "../wp-content/uploads/newspaper/jpg/";
$dir_pdf = "../wp-content/uploads/newspaper/pdf/";
$images = glob($dir_jpg."*.*");
$pdfs = glob($dir_pdf."*.*");
$array = array_combine($images, $pdfs);
foreach($array as $image => $pdf){
echo '
- ';
echo '
';echo '
';echo '
';}
我做了var_dump来检查数组,但它是空的。我的代码不工作的原因是什么?
更新
我将我的文件存储在wordpress文件夹系统中,但我没有通过
wordpress媒体,所以数据库中没有关于它们的记录。我想避免它,并通过ftp帐户上传这些文件,并用php代码列出它们。
更新2
在与@gabor klement聊天时,我们得到了这个
$wp_root = wp_upload_dir()['baseurl'];
$dir_jpg = $wp_root."/newspaper/jpg/";
$dir_pdf = $wp_root."/newspaper/pdf/";
$images = glob($dir_jpg."*.*");
$pdfs = array();
$imgNum = count($images);
$list = '
- ';
for ($i = 0; $i < $imgNum; $i++) {
$filename = substr(basename($images[$i]), 0, -4);
$pdfs[$i] = $dir_pdf.$filename.".pdf";
if (file_exists($dir_pdf.$filename.".pdf")) {
$list .= '
}
}
$list .= '
';echo $list;
但出于某种原因,wordpress没有显示这些文件。有趣的是
放在$list工作之前
更新3
唯一的办法就是
$images
是
wp_upload_dir()['basedir'];
但是wordpress创建了一条这样的路径
domain.com/home/user/domains/domain/public_html/wp-content/uploads/newspaper/jpg/december2012.jpg
找不到图像。