如何使用 php 和 javascript 从目录中获取文件名

Posted

技术标签:

【中文标题】如何使用 php 和 javascript 从目录中获取文件名【英文标题】:How to get a file name from a directory using php and javascript 【发布时间】:2017-03-06 18:56:26 【问题描述】:

我正在尝试使用 php 更新我的旧 Flash 画廊网站。我想知道如何在单击鼠标中键后从存储所有闪存的文件夹中随机获取文件名。我是 php 新手,我觉得好像有些事情搞混了,我的知识也有空白。

html

<?php include 'header.php'; ?>

<div id="flash-container">
    <object id="flash-content" data="swfs/sunshine.swf" type="application/x-shockwave-flash"></object>
    </div>

<?php include 'footer.php'; ?>

PHP

<?php
function random_flash($dir = 'swfs')

    $files = glob($dir . '/*.*');
    $file = array_rand($files);
    return $files[$file];

?>

javascript

$(document).ready(function () 
    $("#flash-content").on('click', function (e) 
        $.ajax(
            type: "GET"
            , url: "flash.php"
            , data: 
                fileName: "$file"
            
        ).done(function (msg) 
            alert("Data Saved: " + msg);
        );
        if (e.which == 2) 
            e.preventDefault();
            flash - container.innerHTML = '<object id="flashcontent" data="' + $file + '">' + '<param name="movie" type="application/x-shockwave-flash">' + '</object>';
        
    );
);

【问题讨论】:

那么究竟是什么问题? 当我在现有的 flash 对象上单击鼠标中键时,它应该查看“swfs”文件夹并在选择名称时随机选择一个名称,它应该更改 flash 本身的 innerHTML 以插入文件名所以去下一个闪光 也许我根本不应该使用带有名称插入的javascript,而应该只使用php...... 【参考方案1】:

我认为您的代码有一些错误。

如果你调用 php,即使是在 javascript 代码中......你需要使用&lt;?php?&gt;

在您的 javascript 代码中,我可以看到 $file。好的,但它是什么? 应该是&lt;?php echo $file; ?&gt; 否?

在你的 JS 代码中:flash - container.innerHTML flash 的对象是什么?你不能像这样减去对象:)(错字?)


所以:

    在您的 html 网页上,打开控制台编辑器并检查是否有任何错误。 打开页面的源代码并检查 html/javascript 是否看起来不错。如果你是 php 错误 -> 检查 php 代码。

您还可以在某处使用&lt;?php echo $file; ?&gt;&lt;?php echo random_flash(); ?&gt; 来检查返回的值是否为文件和预期值。

【讨论】:

以上是关于如何使用 php 和 javascript 从目录中获取文件名的主要内容,如果未能解决你的问题,请参考以下文章

如何将变量和数据从 PHP 传递到 JavaScript?

如何将变量和数据从 PHP 传递到 JavaScript?

如何使用javascript在特定页面上重定向

如何从PHP和Javascript中的字符串中删除所有空格[重复]

如何使用 htaccess 使某些 javascript 文件从 php 呈现

如何使用 JavaScript / PHP 从图像中获取地理位置数据?