2017-02-14 20 views
0

Что я пытаюсь сделать здесь, в моем php-коде ниже я должен установить имя файла вручную, и я хочу сделать это как-то, как он автоматически захватывает имя файла, но без Расширение файлаПолучение имени файла без расширения файла в моем php-коде

вот часть моего кода, где я хочу, чтобы получить имя файлового

$Pages = array(
    'clothes' => 'Clothes', 
    'shirt' => 'shirt', 
    'this-shirt' => 'This Shirt' 
); 

, где он говорит «это футболка» это имя файла и я хочу, чтобы установить автоматически вместо я записать его каждый раз я создаю страницу. также полный полный текст

<?php 
$Pages = array(
    'clothes' => 'Clothes', 
    'shirt' => 'shirt', 
    'this-shirt' => 'This Shirt' 
); 

$path = $_SERVER["PHP_SELF"]; 
$parts = explode('/', $path); 
if (count($parts) < 2) { 
    echo("home"); 
} else { 
    echo ("<a href=\"http://domain.com\">Home</a> &raquo; "); 
    for ($i = 2; $i < count($parts); $i++) { 
     if (!strstr($parts[$i], ".")) { 
      echo("<a href=\""); 
      for ($j = 0; $j <= $i; $j++) { 
       echo $parts[$j] . "/"; 
      }; 
      echo("\">" . str_replace('-', ' ', $Pages[$parts[$i]]) . "</a> &raquo; "); 
     } else { 
      $str = $parts[$i]; 
      $pos = strrpos($str, "."); 
      $parts[$i] = substr($str, 0, $pos); 
      echo str_replace('-', ' ', $Pages[$parts[$i]]); 
     } 
    } 
} 

Надеюсь, у вас возникнет эта идея. благодаря

+0

'$ файла = 'это-shirt.pdf'; $ filename = (count (explode ('.', $ file)) === 1? $ file: implode ('.', array_slice (explode ('.', $ file), 0, (count (explode (' . ', $ file)) - 1)))); echo $ filename; ' – MonkeyZeus

+0

@MonkeyZeus дорогой, можете ли вы отправить свой код в ответ? потому что неясно, как это –

+0

Какая переменная содержит 'this-shirt' ** ** с расширением? – MonkeyZeus

ответ

1

Это следует сделать это:

// get this-shirt.php from the URL 
$file = basename($_SERVER["PHP_SELF"]); 

// pure magic 
$filename = (count(explode('.', $file)) === 1 ? $file : implode('.', array_slice(explode('.', $file), 0, (count(explode('.', $file))-1)))); 

$Pages = array(
    'clothes' => 'Clothes', 
    'shirt' => 'shirt', 
    $filename => 'This Shirt' // use $filename to declare the array's key 
); 
+0

работал братом. точно так же, как я хотел. большое спасибо –

+0

дорогой, ты можешь помочь мне с этим http://stackoverflow.com/questions/42262290/need-help-in-my-php-code-getting-wrong-directory-on-breadcrumb –