获取知道名称和可能扩展名的文件

时间:2014-03-28 02:58:52

标签: javascript php jquery

我正在做一个学校项目。我正在创建一个webform,帮助用户编辑数据库的某些条目(假设我想编辑'books'表的条目)。

首先,我显示一个书籍列表,用户可以点击他/她想要编辑的书籍,所有信息将被检索并显示在输入表格中,以便他/她可以编辑然后提交更新数据

我有一个问题。与每本书相关联的是我想要显示的图片,遗憾的是,我可以从数据库中检索的是图片文件的名称,但不是扩展名。允许的唯一扩展是jpeg,gif,jpg和png。我到目前为止尝试的是以下功能:

function UrlExists(url)
    {   
        var ext = [ ".jpeg", ".jpg", ".png", ".gif" ];
        var http = new XMLHttpRequest();
        var url_ext = '';

        $.each(ext, function(key, value){
                        http.open('HEAD', url+value, false);
                        http.send();
                        if(http.status!=404){
                            url_ext = url+value;
                        }

                    });
        if(url_ext){
            return url_ext;
        }else{
            return "image_path/notfound.jpg";
        }


    }

它不漂亮但它有效。唯一的问题是chrome中dev-tool的所有警告。我真的不介意,但我觉得这是不好的做法,我基本上试图检索文件,每个允许的扩展名都在服务器上。

此代码有效,因为没有相同名称的文件,因此不能有“picture.jpg”和“picture.png”。这个问题有一个很好的解决方案吗?我尝试在jquery中使用一些php,使用glob()函数,但我无法使其工作。像这样:

$('#image_id').attr('src', '<?php echo json_encode(glob("image_path/filename.{jpg,jpeg,png,gif}", GLOB_BRACE)) ?>' );

它并没有真正做任何PHP工作,我想我错过了一些让php在jQuery函数中工作的东西,或者它可能在文档加载时运行,所以它不起作用。无论如何,我甚至不确定这是否可行。任何帮助将非常感激。请记住,我不是php / jquery专家;)

0 个答案:

没有答案