2015-05-27 4 views
-1

Я хочу создать автозаполнение из папки «образ». У меня более 50 изображений в папке «образ». Как массировать все имена изображений из папки?Как массировать имя файла из папки?

search.php

<?php 

/* 
* Load sample data 
*/ 
include 'data.php'; 

/* 
* Results array 
*/ 
$results = array(); 

/* 
* Autocomplete formatter 
*/ 
function autocomplete_format($results) { 
    foreach ($results as $result) { 
     echo $result[0] . '|' . $result[1] . "\n"; 
    } 
} 

/* 
* Search for term if it is given 
*/ 
if (isset($_GET['q'])) { 
    $q = strtolower($_GET['q']); 
    if ($q) { 
     foreach ($data as $key => $value) { 
      if (strpos(strtolower($key), $q) !== false) { 
       $results[] = array($key, $value); 
      } 
     } 
    } 
} 

/* 
* Output format 
*/ 
$output = 'autocomplete'; 
if (isset($_GET['output'])) { 
    $output = strtolower($_GET['output']); 
} 

/* 
* Output results 
*/ 
if ($output === 'json') { 
    echo json_encode($results); 
} else { 
    echo autocomplete_format($results); 
} 

data.php

<?php 
     $data = array(/* 
* image_name 
*/); 

HTML

<link rel="stylesheet" type="text/css" href="src/jquery.autocomplete.css"> 

    <script type="text/javascript" src="src/jquery.autocomplete.js"></script> 
<script type="text/javascript" src="src/jquery.min.js"></script> 
    <script> 
    $("#ac5").autocomplete('search.php', { 
      minChars: 1, 
      useDelimiter: true, 
      selectFirst: true, 
      autoFill: true, 
     }); 

    </script> 

    <form> 
      <input type="text" id="ac5"> 
     </form> 

Я с помощью jquery.autocomplete.js и не работает ...

+0

Что? Что ты хочешь? – Rizier123

+1

Вы хотите поместить все имена файлов из каталога в массив? Если это так, используйте 'scandir' Например:' $ files = scandir ("directory"); ' – jakecfc1992

+0

Возможно создание массивов [имя файла] из папки? – Foxpro

ответ

0

попробуйте вот так.

Я взял папку с базой данных, в этой папке есть 4 файла, поэтому напечатаны имена файлов как массивы.

Код: -

<?php 
$dir = '/work/database'; 
$files1 = scandir($dir); 
print_r($files1); 
?> 

Выход: -

Array ([0] => . [1] => .. [2] => logo.png [3] => logos.jpg [4] => nbc_logo.jpg [5] => sciit_logo.png) 
+0

Я хочу сделать это как ''? php $ data = array ( "Great Buttern" => "Botaurus stellaris" ,); ?> 'Ex -' '. как? возможно? – Foxpro

+0

Выше кода удовлетворено ваше требование? выход поступает так, как вы ожидали. – RaMeSh

+0

если хотите, просто удалите «echo» Array Type: «.»

';" and "echo '
'; " эти две линии. – RaMeSh

0

В соответствии с вашим вопросом, что я понял, что вам нужны имена всех изображений в вашей конкретной папке, лучший способ получить список всех изображений в каталоге - использовать функцию glob() в php.

$images = glob('/youfolderpath/*.{jpeg,gif,png}', GLOB_BRACE); 
//images has all your image names will jpeg, gif and png format, $images is an array that contains all your image names 

Полезная ссылка: http://www.w3schools.com/php/func_filesystem_glob.asp

+0

Будет ли работать без массива, я имею в виду [заменить массив?] ' 'to' ' – Foxpro

+0

да, вам просто нужно указать имя папки, он будет сканировать все изображения в этой папке, используя расширения, указанные в параметре –

+0

, также помните, что с помощью этой функции вы не получите никаких дополнительных данных в массиве, точно необходимые данные поступают только в массив –

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