使用php或javascript将文件夹中的文件名导入页面

使用php或javascript将文件夹中的文件名导入页面,javascript,php,html,Javascript,Php,Html,如果可能的话,有人能帮我做这个吗?比如,我制作了Youtube。正如您在这个PLNKR链接中看到的 例如,embed是我的文件夹,在该embed文件夹中,我有名为p9zdCra9gCE QrMOu4GU3uU的文件 就像你在这里看到的那样 <div class="ytid" data-str="p9zdCra9gCE">video 1</div> <div class="ytid" data-str="QrMOu4GU3uU">video 2</div&

如果可能的话,有人能帮我做这个吗?比如,我制作了Youtube。正如您在这个PLNKR链接中看到的

例如,embed是我的文件夹,在该embed文件夹中,我有名为p9zdCra9gCE QrMOu4GU3uU的文件

就像你在这里看到的那样

<div class="ytid" data-str="p9zdCra9gCE">video 1</div>
<div class="ytid" data-str="QrMOu4GU3uU">video 2</div>
如果可能的话,我想要它,当我在文件夹embed中添加p9zdCra9gCE.html或QrMOu4GU3uU.html这样的文件时,它会自动出现在其他视频按钮旁边的索引页上,变成这样

<div class="ytid" data-str="p9zdCra9gCE">video 1</div>
<div class="ytid" data-str="QrMOu4GU3uU">video 2</div>
<div class="ytid" data-str="AnotherFile">video 3</div>
<div class="ytid" data-str="AnotherFile">video 4</div>
<div class="ytid" data-str="AnotherFile">video 5</div>

我在youtube上尝试过这个方法,它似乎很管用,但我想知道如何将文件名放在这里视频1用p9zdCra9gCE替换它,并删除文件扩展名,使其成为p9zdCra9gCE而不是本视频中的p9zdCra9gCE.html

$file = 'p9zdCra9gCE.html';
echo str_replace('.html', '', $file);
$id = 1;
foreach (glob('*.html') as $file) {
    $file = str_replace('embed/', '', $file);
    $file = str_replace('.html', '', $file); ?>
    <div class="ytid" data-str="<?php echo $file; ?>">video <?php echo $id++ ?></div>
<?php }
其中$file是要编辑的文件名,然后在str_replace函数中,第一个参数是要替换的部分,第二个参数是要替换的内容,第三个参数是要替换的位置。在本例中,您希望将“.html”替换为空字符串。您可以在官方php文档上阅读更多关于str_replace的信息-

编辑:

您可以将其与视频功能结合使用,如下所示:

$file = 'p9zdCra9gCE.html';
echo str_replace('.html', '', $file);
$id = 1;
foreach (glob('*.html') as $file) {
    $file = str_replace('embed/', '', $file);
    $file = str_replace('.html', '', $file); ?>
    <div class="ytid" data-str="<?php echo $file; ?>">video <?php echo $id++ ?></div>
<?php }

仅将视频文件存储在一个目录中,不应将其他文件存储在该目录中,否则您将使用glob获取它们,只要它们的文件扩展名为.html。修改glob的路径以指向该目录,如下所示:glob'embed/*.html'

谢谢。1-在您的代码中,我没有看到您显示了包含文件的文件夹。2-我想自动添加像这样的div,例如,当我在文件夹中添加名为p9zdCra9gCE.html的文件时,它会自动添加到索引页上,就像这个视频1我以为你已经通过观看该视频解决了这个问题。我编辑了我的答案,包括如何让它自动生成div并相应地填充信息。重要的是,您的所有视频都在单独的文件夹中,因为您将把该目录中的每个文件都存储在一个数组中,并在其中循环,所以如果该文件夹中有index.html,则将创建一个数据为str=index的div。为了避免这种情况,只需将所有文件存储在另一个目录中,并指向该目录,如下所示:glob'directory/*.html'Thanky you sir,它是最有效的,但我有1个问题,如果您能帮我解决,我将非常高兴。1-生成的所有按钮,所有按钮都有名称video、video、video。视频1、视频2、视频3会变成什么样子?第二个问题是我的索引和视频文件不在ame文件夹中。因此,这就给链接带来了问题,例如,当我点击视频时,它会使链接看起来像,正如你在链接中看到的一样,但两次嵌入对不起,我忘了在$id++之前添加echo,如果你添加它,它应该显示视频1、视频2、视频3。。。至于link,它很容易修复,我通常不使用glob,所以我忘记了它的输出,只是为embed/添加str_replace。我会编辑我的答案给你看。谢谢你,先生,代码工作了,但我得到了这样的答案,我不知道为什么看