Получение имени файла без расширения в php - PullRequest
0 голосов
/ 27 ноября 2011

Я пытаюсь добавить ссылку на каждое изображение слайд-шоу в Joomla, но я застрял в получении имен файлов из фотографий без расширений. Это связанный код:

<?php
$imgrootdir = "templates/".$this->template."/images/";
if ($headerType == "0" || $headerType == "2") {
  echo '<img src="'.$imgrootdir.$myimage.'" alt="" />';
} elseif ($headerType == "1" || $headerType == "3") {
  $picDir= $imgrootdir.$myfolder;
  $picDir .="/";
  if (file_exists($picDir) && is_readable($picDir)) {
    $folder = opendir($picDir);
  } else {
    echo '<div class="message">Error! Please check the parameter settings and make sure you have entered a valid image folder path!</div>';
    return;
  }
  $allowed_types = array("jpg","JPG","jpeg","JPEG","gif","GIF","png","PNG","bmp","BMP");
  $index = array();
  while ($file = readdir ($folder)) {
    if(in_array(substr(strtolower($file), strrpos($file,".") + 1),$allowed_types)) {array_push($index,$file);}
  }
  closedir($folder);
  if($display == 'random') {shuffle($index);} else {sort($index);}

  foreach ($index as $file) {
    $finalpath = $picDir.$file;  
    // output
    echo '<a href="http://testcl.net46.net/index.php/''"><img src="'.$finalpath.'" alt="'.$file.'" /></a>';

  }
  if ($showControl) echo '<div id="slcontrol"> </div>';
}
?>

Ответы [ 2 ]

0 голосов
/ 27 ноября 2011
0 голосов
/ 27 ноября 2011

Ну, во-первых, лучше всего использовать встроенные в Joomla функции обработки файлов.См. http://docs.joomla.org/How_to_use_the_filesystem_package. Я думаю, что функции имеют встроенную обработку ошибок.Также см. JPATH.Вы можете использовать эти функции для удаления тегов следующим образом:

$name = JFile::stripExt($filename);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...