имя эхо-файла из файла изображения для php

#php

#php

Вопрос:

Всем привет, мне нужна помощь. Могу ли я это сделать? Я работаю над новым скриптом, который имеет эту конфигурацию PHP.

 <?php
function random_pic($dir, $nf=3)
{
$files = glob($dir . DIRECTORY_SEPARATOR . '*.jpg');
shuffle($files);
return array_pop($files);
}
//$number = rand(); ?v=$number
$path = 'images';
$file_images = random_pic($path, 1);
$image  = file_get_contents($file_images);
$og_img = base64_encode($image); 
?>

<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta property="og:title" content="<?php echo basename($file_images)?>" />
<meta property="og:type" content="article" />
<meta property="og:url" content="http://YourDomain.com" />
<meta property="og:image" content="http://YourDomain.com/<?php echo $file_images ?>" />
  

конфигурация echo изменяет файл изображения при каждой перезагрузке og: image и og:title, заголовок автоматически изменяется на имя изображения, которое будет отображаться в og: image

это все работает со мной, но изображение, которое будет отображаться в og: image, показывает тип изображения в заголовке, например love.jpg

его отображение выглядит следующим образом

 <meta property="og:title" content="Love.jpg" />
<meta property="og:type" content="article" />
<meta property="og:url" content="http://yourdomain.com" />
<meta property="og:image" content="http://yourdomain.com/images/Love.jpg"/>
<meta property="og:description" content="Liked it? Click Here for More."/>
<meta property="og:site_name" content="yourdomain.com - Love Test?"/>
  

вопрос в том, как я скрываю тип jpg в заголовке изображения

 <meta property="og:title" content="Love.jpg" />
  

заранее благодарю вас

Ответ №1:

Вы можете попробовать следующее, используя pathinfo :

 <?php
function random_pic($dir, $nf=3) {
    $files = glob($dir . DIRECTORY_SEPARATOR . '*.jpg');
    shuffle($files);
    return array_pop($files);
}

$path = 'images';
$file_images = random_pic($path, 1);
$fileinfo = pathinfo($file_images);
$image  = file_get_contents($file_images);
$og_img = base64_encode($image); 
?>

<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta property="og:title" content="<?= $fileinfo['filename'] ?>" />
<meta property="og:type" content="article" />
<meta property="og:url" content="http://YourDomain.com" />
<meta property="og:image" content="http://YourDomain.com/<?= $file_images ?>" />
  

Комментарии:

1. если версия PHP > =PHP 5.2.0

2. @gratienasimbahwe — Я надеюсь, что он использует более позднюю версию. PHP 5.2 очень старый и его больше не следует использовать.

3. Да, но мы никогда не знаем наверняка, некоторые новички просто используют 5.1 на localhost