Я делаю небольшую галерею. Я хочу прочитать имена файлов из каталога и распечатать имена файлов ниже, после того как я разделил некоторые ведущие цифры и расширения файлов.
У меня две версии кода.
$current_dir = "$DOCUMENT_ROOT"."/weddings2/"; $dir = opendir($current_dir); // Open the sucker while ($file = readdir($dir)) // while loop { $parts = explode(".", $file); // pull apart the name and dissect by period if (is_array($parts) && count($parts) > 1) { // does the dissected array have more than one part $extension = end($parts); // set to we can see last file extension $bfile= substr($file, 2); //strips the first two characters $cfile= preg_replace(('/\d/'),' ',$bfile);//remove numbers $cfile= preg_replace(('/_/'),' ',$cfile); $cfile= preg_replace(('/.jpg/'),' ',$cfile); if ($extension == "jpg" OR $extension == "JPG") // is extension ext or EXT ? echo "<td><img src=\"weddings2/$file\"><br />$cfile</td>\n"; } } closedir($dir); // Close the directory after we are done
$current_dir = "$DOCUMENT_ROOT"."/weddings2/"; $dir = opendir($current_dir); // Open the sucker $files = array(); while ($files[] = readdir($dir)); sort($files); closedir($dir); foreach ($files as $file) if ($file <> "." && $file <> ".." && !preg_match("/^hide/i",$file)) $table_cell .= "<td><img src='".'weddings2/'. rawurlencode($file) ."'><br />$cfile</td>\n"; echo $table_cell;
Да, я знаю, что я тупой. Arghhh!
EDIT: в вашем коде отсутствуют скобки
У тебя есть
для каждого (...) код код
и это должно быть
для каждого (...) { код код }
Просто поставьте код между $ parts и последним $ cfile после цикла foreach, просто добавьте фигурные скобки в цикле, чтобы вы могли добавить больше кода. Также обратите внимание, что у вас разные условия в обоих фрагментах кода, вы должны решить, какой одно использование или если их объединить в одно условие.
$current_dir = "$DOCUMENT_ROOT"."/weddings2/"; $dir = opendir($current_dir); // Open the sucker $files = array(); while ($files[] = readdir($dir)); sort($files); closedir($dir); foreach ($files as $file) { //MANIPULATE FILENAME HERE, YOU HAVE $file... if ($file <> "." && $file <> ".." && !preg_match("/^hide/i",$file)) echo "<td><img src='".'weddings2/'. rawurlencode($file) ."'><br />$cfile</td>\n"; }
Поскольку в разделе комментариев не хватает места …
Vinko: Я редактирую здесь, чтобы сделать его проще. Вы должны иметь
$current_dir = "$DOCUMENT_ROOT"."/weddings2/"; $dir = opendir($current_dir); // Open the sucker $files = array(); while ($files[] = readdir($dir)); sort($files); closedir($dir); foreach ($files as $file) { $bfile= substr($file, 2); //strips the first two characters $cfile= preg_replace(('/\d/'),' ',$bfile); $cfile= preg_replace(('/_/'),' ',$cfile); $cfile= preg_replace(('/.jpg/'),' ',$cfile); if ($file <> "." && $file <> ".." && !preg_match("/^hide/i",$file)) // echo "<td><img src=\"weddings2/$file\"><br />$cfile</td>\n"; //echo "<td><img src=\"weddings2/$file\"><br />$cfile</td>\n"; $table_cell .= "<td><img src='".'weddings2/'. rawurlencode($file) ."'><br />$cfile</td>\n"; //$table_cell .= " <li><a href='" .'pdfs/'. rawurlencode($file) ."'>$file</a></li>\n"; echo $table_cell; }
вместо того, что вы пробовали
$current_dir = "$DOCUMENT_ROOT"."/weddings2/"; $dir = opendir($current_dir); // Open the sucker $files = array(); while ($files[] = readdir($dir)); sort($files); closedir($dir); foreach ($files as $file) $bfile= substr($file, 2); //strips the first two characters $cfile= preg_replace(('/\d/'),' ',$bfile); $cfile= preg_replace(('/_/'),' ',$cfile); $cfile= preg_replace(('/.jpg/'),' ',$cfile); if ($file <> "." && $file <> ".." && !preg_match("/^hide/i",$file)) // echo "<td><img src=\"weddings2/$file\"><br />$cfile</td>\n"; //echo "<td><img src=\"weddings2/$file\"><br />$cfile</td>\n"; $table_cell .= "<td><img src='".'weddings2/'. rawurlencode($file) ."'><br />$cfile</td>\n"; //$table_cell .= " <li><a href='" .'pdfs/'. rawurlencode($file) ."'>$file</a></li>\n"; echo $table_cell;
<pre> <td><img src='weddings2/36%20And%20they%20lived%20happily%20ever%20after.jpg'><br /> And they lived happily ever after </td></pre>
<pre> <td><img src="weddings2/05Wedding_Chapel.jpg"><br />Wedding Chapel </td> <td><img src="weddings2/06Bride_Flowers.jpg"><br />Bride Flowers </td> <td><img src="weddings2/09%20Bridemaids%20on%20the%20lawn.jpg"><br /> Bridemaids on the lawn </td> <td><img src='weddings2/36%20And%20they%20lived%20happily%20ever%20after.jpg'><br /> And they lived happily ever after </td> </pre>