2015-12-17 9 views
1

У меня проблема с php image caching. Я уже опубликовал это на странице выпуска авторов, однако он неактивен.PHP Кэширование изображений

Веб-сервер: NGINX

PHP Версия: 5.5.9-1ubuntu4.14

Я получаю эту ошибку конечный URL изображения разбивается. Эта страница выглядит так: page Должен быть 100 изображений, но он умирает на третьем. страница должна выглядеть что-то похожее на это (это дизайн локальный) Design of Page

Он возвращает этот URL exampleImage

Там должно быть / между mediapage.zips.me и core, однако это локальное изображение поэтому я не понимаю, зачем ему нужно имя хоста.

Как я делаю это,

На верхней части каждой страницы я звоню на другую страницу, которая содержит настройки класса

<?php 
    //Calls the php-image things 
    include 'test.php'; 

?> 

Внутри test.php

<?php 
    require_once 'core/classes/ImageCache.php'; 
    $imagecache = new ImageCache(); 
?> 

Страница изображения

<?php 
    //Directory NON-CACHED images are stored in 
    $dir = "i/"; 

    //Array of files in the Directory 
    $files1 = scandir($dir); 
    //Used to limit results (100's of images) 
    $count = 0; 
    foreach ($files1 as $key) { 
     //If the file name is longer than 3 chars and the count is less 
     //than the amount of images I want displayed. 
     if (strlen($key) > 3 && $count <= 100){ 
      $count++; 
      //dir2 is the directory/nameofFile.extension 
      //Eg: i/testImage.png 
      $dir2 = $dir.''.$key; 
      $info = new SplFileInfo($key); 
      //Image Cache variable 
      $cached_src = $imagecache->cache($dir2); 
?> 
    <tr> 
     <td> 
      <!-- Link for light box for full resolution image --> 
      <a href="<?php echo $dir2;?>" data-popup="lightbox"> 
       <!-- src of cached image is outputted and the alt is the name of the uncached image. --> 
       <img src="<?php echo $cached_src;?>" alt="<?php echo $key;?>" class="img-rounded img-preview"> 
      </a> 
     </td> 
     <!-- More table stuff... --> 
    </tr> 

<?php 
     } //End If 
    } //End for 
?> 

Я попытался добавить / к каталогу $dir, но он говорит, что он не может найти каталог, когда я это делаю.

+0

Я предполагаю, что $ dir2 - это каталог файловой системы, поэтому вы не можете просто добавить к нему косой чертой. Это просто поместило бы его в корневой каталог, который не существует. – unflores

ответ

0
 <!-- Link for light box for full resolution image --> 
     <a href="<?php echo $dir2; ?>" data-popup="lightbox"> 
      <!-- src of cached image is outputted and the alt is the name of the uncached image. --> 
      <img src="/<?php echo $cached_src; ?>" alt="<?php echo $key; ?>" class="img-rounded img-preview"> 
     </a> 

Это должно работать на simpling предваряя косую черту перед $cached_src.

0

Я хотел бы взглянуть на ImageCache github page для справки. Если кешированное изображение еще не существует, сценарий будет использовать $_SERVER['HTTP_HOST']. Поэтому проверьте, что в этом. Похоже, если ваш $_SERVER['HTTP_HOST'] не заканчивается косой чертой, тогда ваш URL-адрес не будет иметь его.

Смежные вопросы