Używam WordPress. Mam folder obrazu, taki jak mytheme/images/myimages
.pobierz wszystkie obrazy z folderu w php
Chcę pobrać wszystkie nazwy obrazów z folderu myimages
Proszę doradzić mi, jak mogę uzyskać obrazy nazwę.
Używam WordPress. Mam folder obrazu, taki jak mytheme/images/myimages
.pobierz wszystkie obrazy z folderu w php
Chcę pobrać wszystkie nazwy obrazów z folderu myimages
Proszę doradzić mi, jak mogę uzyskać obrazy nazwę.
spróbować tej
$directory = "mytheme/images/myimages";
$images = glob($directory . "*.jpg");
foreach($images as $image)
{
echo $image;
}
można to zrobić po prostu z PHP opendir
funkcji.
Oto przykład:
$handle = opendir(dirname(realpath(__FILE__)).'/pictures/');
while($file = readdir($handle)){
if($file !== '.' && $file !== '..'){
echo '<img src="pictures/'.$file.'" border="0" />';
}
}
$dir = "mytheme/images/myimages";
$dh = opendir($dir);
while (false !== ($filename = readdir($dh))) {
$files[] = $filename;
}
$images=preg_grep ('/\.jpg$/i', $files);
Bardzo szybko, bo tylko zeskanować potrzebne katalogu.
Ale teraz nie ma czeku, jeśli reż. Rej. – Coolen
Sprawdź, czy istnieje, umieścić wszystkie pliki w tablicy preg grep wszystkie pliki JPG, echo nowa tablica dla wszystkich obrazów może próbować to:
$images=preg_grep('/\.(jpg|jpeg|png|gif)(?:[\?\#].*)?$/i', $files);
if ($handle = opendir('/path/to/folder')) {
while (false !== ($entry = readdir($handle))) {
$files[] = $entry;
}
$images=preg_grep('/\.jpg$/i', $files);
foreach($images as $image)
{
echo $image;
}
closedir($handle);
}
Czy mógłbyś nieco rozwinąć swoją odpowiedź? – brodoll
sprawdzić, czy istnieje, umieścić wszystkie pliki w tablicy preg grep wszystkie pliki JPG, echo nowej tablicy Dla wszystkich obrazów mógł spróbować tego. '$ images = preg_grep ('/\ (jpg | jpeg | png | gif) (?: [\? \ #]. *)? $/i ', $ pliki);' –
proszę usunąć początkową ofertę. – Gogol
Oto mój jakiś kod
$dir = '/Images';
$ImagesA = Get_ImagesToFolder($dir);
print_r($ImagesA);
function Get_ImagesToFolder($dir){
$ImagesArray = [];
$file_display = [ 'jpg', 'jpeg', 'png', 'gif' ];
if (file_exists($dir) == false) {
return ["Directory \'', $dir, '\' not found!"];
}
else {
$dir_contents = scandir($dir);
foreach ($dir_contents as $file) {
$file_type = pathinfo($file, PATHINFO_EXTENSION);
if (in_array($file_type, $file_display) == true) {
$ImagesArray[] = $file;
}
}
return $ImagesArray;
}
}
ten odpowiedź jest specyficzne dla WordPressa:
$base_dir = trailingslashit(get_stylesheet_directory());
$base_url = trailingslashit(get_stylesheet_directory_uri());
$media_dir = $base_dir . 'yourfolder/images/';
$media_url = $hase_url . 'yourfolder/images/';
$image_paths = glob($media_dir . '*.jpg');
$image_names = array();
$image_urls = array();
foreach ($image_paths as $image) {
$image_names[] = str_replace($media_dir, '', $image);
$image_urls[] = str_replace($media_dir, $media_url, $image);
}
// --- You now have:
// $image_paths ... list of absolute file paths
// e.g. /path/to/wordpress/wp-content/uploads/yourfolder/images/sample.jpg
// $image_urls ... list of absolute file URLs
// e.g. http://example.com/wp-content/uploads/yourfolder/images/sample.jpg
// $image_names ... list of filenames only
// e.g. sample.jpg
Oto niektóre oth er ustawienia, które dadzą ci obrazy z innych miejsc niż temat potomny. Wystarczy wymienić pierwsze 2 wiersze w powyższym kodzie w wersji trzeba:
z katalogu przesyłaniem:
// e.g. /path/to/wordpress/wp-content/uploads/yourfolder/images/sample.jpg
$upload_path = wp_upload_dir();
$base_dir = trailingslashit($upload_path['basedir']);
$base_url = trailingslashit($upload_path['baseurl']);
Od Parent-theme
// e.g. /path/to/wordpress/wp-content/themes/parent-theme/yourfolder/images/sample.jpg
$base_dir = trailingslashit(get_template_directory());
$base_url = trailingslashit(get_template_directory_uri());
Od Child-theme
// e.g. /path/to/wordpress/wp-content/themes/child-theme/yourfolder/images/sample.jpg
$base_dir = trailingslashit(get_stylesheet_directory());
$base_url = trailingslashit(get_stylesheet_directory_uri());
Jeśli chcesz uzyskać cały obraz z folderu, użyj funkcji glob`(), która pomaga uzyskać cały obraz. Ale kiedy już wszystko dostaniesz, musisz kiedyś sprawdzić, czy wszystko jest w porządku, więc w tym przypadku ten kod pomoże ci. Kod ten będzie również sprawdzić, że jest to obraz
więcej informacji
Powinieneś zmienić to: '$ i = 1;' do '$ i = 0;' i działa idealnie! –
@FlamurBeqiraj masz rację, sprawdź teraz –
można po prostu pokazać rzeczywisty katalog obrazu (mniej bezpieczne). Tylko 2 linie kodu.
$dir = base_url()."photos/";
echo"<a href=".$dir.">Photo Directory</a>";
//path to the directory to search/scan
$directory = "";
//echo "$directory"
//get all files in a directory. If any specific extension needed just have to put the .extension
//$local = glob($directory . "*");
$local = glob("" . $directory . "{*.jpg,*.gif,*.png}", GLOB_BRACE);
//print each file name
echo "<ul>";
foreach($local as $item)
{
echo '<li><a href="'.$item.'">'.$item.'</a></li>';
}
echo "</ul>";
Czy możesz wyjaśnić swój kod? – Michael
Mój katalog to: '$ directory = "images [big]";' a to nie działa – jscripter
@Md. Shariful Islam jest sposobem na powiązanie katalogu z identyfikatorem z bazy danych? –
Dodałem tylko, aby użyć ostatniego ukośnika odwrotnego ukośnika/w ścieżce katalogu –