PHP显示图像,如果其他状态
我现在有一个脚本,非常适合我公司资源的FTP类型站点 它显示带有下载链接和文件名的图像。我想做的是,如果文件不是图像(如pdf),则显示占位符图像 下面的代码不正确(if/else语句),但您可以看到我的意图 提前谢谢PHP显示图像,如果其他状态,php,image,Php,Image,我现在有一个脚本,非常适合我公司资源的FTP类型站点 它显示带有下载链接和文件名的图像。我想做的是,如果文件不是图像(如pdf),则显示占位符图像 下面的代码不正确(if/else语句),但您可以看到我的意图 提前谢谢 <?php // Find all files in that folder $files = glob('files/*'); //$image = // Do a natural case insen
<?php
// Find all files in that folder
$files = glob('files/*');
//$image =
// Do a natural case insensitive sort, usually 1.jpg and 10.jpg would come next to each other with a regular sort
natcasesort($files);
if ($files = array("gif", "jpeg", "jpg", "png");) {
$images = $file
} else {
$images = "http://hg.exbabylon.net/find_fitter/placeholder.jpg";
}
// Display images
foreach($files as $file) {
echo '<div class="one_half"><img src="' . $images . '" class="images" /></br><h2>' .basename($file). '</h2><a class="download" href="fitter/download.php?file='.base64_encode($file).'"></a></div>';
}
?>
假设您的$files只包含一个文件名+扩展名,即
myimage.png
foreach($files as $file) {
$split = explode(".", $file);
$extension = array_pop($split);
if (in_array($extension, array('gif', 'jpeg', 'jpg', 'png'))) {
$images = $file;
} else {
$images = "http://hg.exbabylon.net/find_fitter/placeholder.jpg";
}
//display your image
echo '<div ...';
}
foreach($files as$file){
$split=explode(“.”,$file);
$extension=array\u pop($split);
if(在数组中($extension,array('gif','jpeg','jpg','png')){
$images=$file;
}否则{
$images=”http://hg.exbabylon.net/find_fitter/placeholder.jpg";
}
//显示您的图像
echo'假设您的$files只包含一个文件名+扩展名,即myimage.png
foreach($files as $file) {
$split = explode(".", $file);
$extension = array_pop($split);
if (in_array($extension, array('gif', 'jpeg', 'jpg', 'png'))) {
$images = $file;
} else {
$images = "http://hg.exbabylon.net/find_fitter/placeholder.jpg";
}
//display your image
echo '<div ...';
}
foreach($files as$file){
$split=explode(“.”,$file);
$extension=array\u pop($split);
if(在数组中($extension,array('gif','jpeg','jpg','png')){
$images=$file;
}否则{
$images=”http://hg.exbabylon.net/find_fitter/placeholder.jpg";
}
//显示您的图像
echo'把它改成这样
<?php
// Find all files in that folder
$files = glob('files/*');
// Do a natural case insensitive sort, usually 1.jpg and 10.jpg would come next to each other with a regular sort
natcasesort($files);
$extensions = array("gif", "jpeg", "jpg", "png");
// Display images
foreach($files as $file) {
$pi - pathinfo($file);
if(!in_array($pi['extension'], $extensions)) {
$file = "http://hg.exbabylon.net/find_fitter/placeholder.jpg";
}
echo '<div class="one_half"><img src="' . $file . '" class="images" /></br><h2>' .basename($file). '</h2><a class="download" href="fitter/download.php?file='.base64_encode($file).'"></a></div>';
}
?>
将其更改为以下内容
<?php
// Find all files in that folder
$files = glob('files/*');
// Do a natural case insensitive sort, usually 1.jpg and 10.jpg would come next to each other with a regular sort
natcasesort($files);
$extensions = array("gif", "jpeg", "jpg", "png");
// Display images
foreach($files as $file) {
$pi - pathinfo($file);
if(!in_array($pi['extension'], $extensions)) {
$file = "http://hg.exbabylon.net/find_fitter/placeholder.jpg";
}
echo '<div class="one_half"><img src="' . $file . '" class="images" /></br><h2>' .basename($file). '</h2><a class="download" href="fitter/download.php?file='.base64_encode($file).'"></a></div>';
}
?>
$allowed_extensions=数组(“gif”、“jpeg”、“jpg”、“png”);
$files=glob('files/*');
natcasesort($文件);
foreach($files作为$file){
if(!in_数组(end(explode(“.”,$file)),$allowed_扩展名)){
$image=”http://hg.exbabylon.net/find_fitter/placeholder.jpg";
}否则{
$image=$file;
}
echo“”.basename($file)。“”;
}
$allowed_extensions=数组(“gif”、“jpeg”、“jpg”、“png”);
$files=glob('files/*');
natcasesort($文件);
foreach($files作为$file){
if(!in_数组(end(explode(“.”,$file)),$allowed_扩展名)){
$image=”http://hg.exbabylon.net/find_fitter/placeholder.jpg";
}否则{
$image=$file;
}
echo“”.basename($file)。“”;
}
您可以使用正则表达式和preg\u match
函数:
if (preg_match("/.*\.gif|jpg|jpeg|png$/i", $files)) {
$images = $file
} else {
$images = "http://hg.exbabylon.net/find_fitter/placeholder.jpg";
}
另外,请参见
注意:最好检查mime类型(如果可能),因为文件名很容易更改。您可以使用正则表达式和preg\u match
函数:
if (preg_match("/.*\.gif|jpg|jpeg|png$/i", $files)) {
$images = $file
} else {
$images = "http://hg.exbabylon.net/find_fitter/placeholder.jpg";
}
另外,请参见
注意:最好检查mime类型(如果可能的话),因为文件名很容易更改。这里有几个问题
请注意比较运算符-您当前正在重新分配此行中的$files数组:
if ($files = array("gif", "jpeg", "jpg", "png");) {
您正在以一种毫无意义的方式将您的$files
数组与另一个数组进行比较。您可能会构建一个单独的$images数组,就像您试图做的那样,但这最好在foreach循环中完成,如:
foreach($files as $file) {
$filepath = pathinfo($file);
if (in_array($filepath['extension'], ('gif', 'jpeg', 'jpg', 'png')) {
$image = $file;
} else {
$image = 'http://hg.exbabylon.net/find_fitter/placeholder.jpg';
}
echo '<div class="one_half"><img src="' . $images . '" class="images" /></br><h2>' .basename($file). '</h2><a class="download" href="fitter/download.php?file='.base64_encode($file).'"></a></div>';
}
然后可以根据mime类型进行比较,如(2)所示。这里有几个问题
请注意比较运算符-您当前正在重新分配此行中的$files数组:
if ($files = array("gif", "jpeg", "jpg", "png");) {
您正在以一种毫无意义的方式将您的$files
数组与另一个数组进行比较。您可能会构建一个单独的$images数组,就像您试图做的那样,但这最好在foreach循环中完成,如:
foreach($files as $file) {
$filepath = pathinfo($file);
if (in_array($filepath['extension'], ('gif', 'jpeg', 'jpg', 'png')) {
$image = $file;
} else {
$image = 'http://hg.exbabylon.net/find_fitter/placeholder.jpg';
}
echo '<div class="one_half"><img src="' . $images . '" class="images" /></br><h2>' .basename($file). '</h2><a class="download" href="fitter/download.php?file='.base64_encode($file).'"></a></div>';
}
然后,您可以根据mime类型进行比较,如(2)。您可以提供$files
对象的转储输出吗?您可以提供$files
对象的转储输出吗?“$extensions=$files=array(“gif”、“jpeg”、“jpg”、“png”);“谁会损坏文件列表,我不好,这是一个输入错误。我更改了它”$extensions=$files=array(“gif”、“jpeg”),”jpg“,”png“;”会损坏文件列表我的错,这是一个打字错误。我更改了它以允许“.jpg”和其他可以使用的大小写组合:$file\u extension=strtolower(array\u pop($file\u parts))
允许“.jpg”和其他可以使用的大小写组合:$file\u extension=strtolower(array\u pop($file\u parts))