我正在做一个学校项目。我正在创建一个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专家;)