gpt4 book ai didi

php - WordPress - PDF 文件的 PHP 列表

转载 作者:可可西里 更新时间:2023-10-31 23:18:57 25 4
gpt4 key购买 nike

我写了这段代码:

function userfunc_get_file_links($sub_folder) {
if ( is_user_logged_in() ) {
$directory = get_stylesheet_directory()."/files/".$sub_folder;
$scanned_directory = array_diff(scandir($directory), array('..', '.'));
echo "<ul class='support_links'>";
foreach ($scanned_directory as $key => $value) {
echo "<li><a href='files/".$value."'>".$value."</a></li>";
}
echo "</ul>";
}
}

我已将它添加到我的函数文件中,我可以成功地将它应用到页面模板中并显示文件链接列表。

(模板文件):

<?php
/*
Template Name: supportpage
*/
?>
<?php get_header(); the_post(); ?>
<div id="content" class="inner-page">
<div class="main-content">
<div class="brack-cum">
<div class="inner-small">
<?php
if (function_exists('wp_bac_breadcrumb')) {wp_bac_breadcrumb();}
?>
</div>
</div>
<div class="title">
<div class="inner-small">
<h2><?php the_title(); ?></h2>
</div>
</div>
<div class="content-page inner-small">
<?php
the_content();
?>
</div>
</div>
<?php get_footer(); }?>

但是,当我单击它们时会出现 404 错误,我无法弄清楚原因。我已尝试重置永久链接并检查 FTP 路径(100% 正确)。

如果我尝试将我的/files/文件夹移动到服务器的根目录

$directory = home_url()."/htdocs/files".$sub_folder;

返回

Warning: scandir(http://localhost/wordpress/files/application_notes): failed to open dir: not implemented in C:\xampp\apps\wordpress\htdocs\wp-content\themes\twentythirteen-child\user_functions.php on line 5

这些文件大部分是 pdf 文件(“how_to_do_stuff.pdf”等)。

关于我可以从这里采取的步骤有什么想法吗?

EDIT1:原始代码显示链接但在点击时返回 WordPress 404:

var_dump($目录)

string(93) "C:\xampp\apps\wordpress\htdocs/wp-content/themes/twentythirteen-child/files/application_notes"

var_dump($scanned_directory)

array(3) {
[2]=>
string(9) "test1.pdf"
[3]=>
string(9) "test2.pdf"
[4]=>
string(9) "test3.pdf"
}

使用产生警告的代码:

var_dump($目录)

string(57) "http://localhost/wordpress/htdocs/files/application_notes"

var_dump($scanned_directory)

NULL

最佳答案

你很接近......但是如果你想让人们能够点击链接,你需要输出 URL:

function userfunc_get_file_links($sub_folder) {
if ( is_user_logged_in() ) {
$directory = get_stylesheet_directory()."/files/".$sub_folder;
$scanned_directory = array_diff(scandir($directory), array('..', '.'));
echo "<ul class='support_links'>";
foreach ($scanned_directory as $key => $value) {
echo "<li><a href='".get_stylesheet_directory_uri() . "/files/" . $sub_folder . "/" . $value . "'>".$value."</a></li>";
}
echo "</ul>";
}
}

这是每个部分应该做的:

get_stylesheet_directory_uri() . 
// http://example.com/wp-content/themes/yourtheme

'/files/' . $sub_folder . '/' . $value
// /files/subfolder/filename.txt

关于php - WordPress - PDF 文件的 PHP 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31538703/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com