Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Fatal error: Call to undefined function: scandir() in on line 33
Forum PHP.pl > Forum > Przedszkole
nikos
Chciałem wyświetlić zdjęcia z folderu za pomocą skryptu.
  1. ...
  2. $dir=slowo($r['nazwa hotelu/imprezy']);
  3. $imagesExtensions = array('jpg', 'jpeg', 'gif', 'png','JPG');
  4. $files = scandir($dir);
  5. foreach($files AS $file) {
  6. $fileinfo = pathinfo($file);
  7. if(is_file($dir.'/'.$file) AND in_array($fileinfo['extension'], $imagesExtensions)) {
  8. echo '<img src="http://travelos.pl/skrypty/images/'.$dir.'/'.$file.'" alt="" />';
  9. }
  10. }
  11. ...

Fatal error: Call to undefined function: scandir() in on line 33

Gdzie może być błąd? Czy może w ścieżce dir?
foxik000000
Możliwe, iż na serwerze na którym próbujesz uruchomić skrypt wyłączona jest funkcja scandir().
Kszyhuu
  1. ...
  2. dir=slowo($r['nazwa hotelu/imprezy']);
  3.  
  4. $files = scandir($dir);
  5. ...

Nie zrobiłeś zmiennej $dir


nikos
Zmienna była tylko mi się nie wkleiła jeśli serwer ma wyłączoną tą funkcję to czy istnieje jakiś prosty skrypt który wczytuje fotki na stronę? bez tej funkcji? nie znam ilości zdjęć oraz nazw. Znam tylko nazwę folderu gdzie są
viking
SPL: DirectoryIterator::getFilename
Nawet masz przykład w dokumentacji akurat do swojego przypadku.
nikos
Dzięki niestety na serwerze na ktorym jest ta strona nie dziala ;/ na lokalnym swojim hula a tu
Fatal error: Cannot instantiate non-existent class: directoryiterator

Działa mi taki skrypt
  1. <?PHP
  2. if(!isset($foto)) {
  3. //wyświetlenie listy
  4. echo "<b>$title</b><br><BR>";
  5. $OpenDir=opendir(images/$slowo);
  6. $i=0;
  7. while (($katalog = readdir($OpenDir))!=false) {
  8. if(($katalog!=".")&&($katalog!="..")&&(!is_dir($katalog)) &&(substr($katalog,-4)==".jpg")||(substr($katalog,-4)==".JPG")) {
  9. $i++;
  10. if($show_style=="1"){
  11. echo("<a href='?foto=$katalog&$param'>$i</a>&nbsp; ");
  12. }elseif($show_style=="0"){
  13. if(file_exists("small/".$katalog)){
  14. echo("<a href='?foto=$katalog&$param'><img src='small/$katalog'></a>&nbsp; ");
  15. }elseif(file_exists("mini/".$katalog)){
  16. echo("<a href='?foto=$katalog&$param'><img src='mini/$katalog'></a>&nbsp; ");
  17. }else{
  18. echo("<a href='?foto=$katalog&$param'><img src='$katalog'></a>&nbsp; ");
  19. }
  20. }
  21. }
  22. }
  23. echo("<BR><p class=small align=left>tFotoView by tas - <a href='http://tas.klamstwo.org' target='_blank'>tas.klamstwo.org</a></p>");
  24. }
  25. elseif(isset($foto)) {
  26. //wyświetlenie zdjęcia
  27. echo "<b>$title</b>&nbsp;&nbsp;&nbsp;&nbsp;<small><a href='?$param'>Powrót do spisu</a></small><BR><BR><BR>";
  28. $OpenDir=opendir("./");
  29. $i=0;
  30. while (($katalog = readdir($OpenDir))!=false) {
  31. if(($katalog!=".")&&($katalog!="..")&&(!is_dir($katalog)) &&(substr($katalog,-4)==".jpg")||(substr($katalog,-4)==".JPG")) {
  32. $i++;
  33. echo("<a href='?foto=$katalog&$param'>$i</a>&nbsp; ");
  34. if(($foto)!=$katalog) {
  35. if(!isset($next)) $next=$katalog;
  36. if($p==0) $prev=$katalog;
  37. if($oki==0) {
  38. $prev=$katalog;
  39. $p=1;
  40. }
  41. if($oki==1) {
  42. $next=$katalog;
  43. $oki=2;
  44. }
  45. }
  46. else {
  47. $oki=1;
  48. }
  49. }
  50. }
  51. echo "<br><BR><BR>";
  52. if(file_exists($foto)){
  53. echo("<table border=0><tr><td align=center valign=middle> <a href='?foto=$prev'><<</a> </td><td><img src='$foto'></td><td align=center valign=middle> <a href='?foto=$next'>>></a> </td></tr></table><BR><p class=small align=left>tFotoView by tas - <a href='http://tas.klamstwo.org' target='_blank'>tas.klamstwo.org</a></p>");
  54. }
  55. }
  56. ?>
  57. </td></tr></table>
  58. </BODY>
  59. </HTML>
  60. <?PHP
  61. ?>


tylko nie wiem jak zmodyfikowac folder nie wyswietla mi zawartosci folderu ;/
  1. $OpenDir=opendir(images/$slowo);
dr_bonzo
No to chyba masz php 4 http://pl.php.net/manual/en/function.scandir.php
kehator
Witam
mam też problem z tą funkcją. Serwer niby obsługuje PHP5 (ovh) ,ale skrypt strony jest z PHP4. i teraz probując dodać pasek cometchat, mam problem ze zmianą skina paska. Najprawdopodobniej muszę zmienić tą funkcję, ponieważ korzysta ona z "scandir" a to powoduje error:
Cytat
PHP Fatal error: Call to undefined function: scandir() in /......../themechanger/index.php


Kiedy tylko zmieniam nazeę z scandor na "opendir", to powoduje kolejny problem:
Cytat
PHP Warning: Invalid argument supplied for foreach() in /......../themechanger/index.php


cała funkcja wygląda tak:
Cytat
$dir = dirname(dirname(dirname(__FILE__))).DIRECTORY_SEPARATOR."themes";
$files = scandir($dir);
foreach ($files as $listedtheme){
if (is_dir($dir."/".$listedtheme) && $listedtheme != '' && !preg_match('/^\.(.*)/',$listedtheme)) {
$themename = ucfirst($listedtheme);
if ($theme != $listedtheme) {
$themeslist .= <<<EOD
<a href="java script:void(0);" onclick="java script:changeTheme('{$listedtheme}')">{$themename}</a><br/>
EOD;
}
}
}


nie daje rady z poprawą sad.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.