El caso es que quiero mostrar unas imagenes thumbnails para posteriormente verlas . Todo me sale bien sólo que me da un Warning y no sé porque, el Warning dice así:
Warning: is_dir() [function.is-dir]: open_basedir restriction in effect. File(./..) is not within the allowed path(s): (/var/www/vhosts/dominio.com/httpdocs:/tmp) in /var/www/vhosts/dominio.com/httpdocs/galleryflash.php on line 151
Código:
Por favor ayudadme<?php // Root directory $root_dir = "."; // Thumbnail Columns $columns = 6; // Maximal size of thumbnails in pixel $thumbwidth = 100; // Slideshow 0=no 1=yes $slideshow = 0; // --end editable region ?> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta name="author" content="Thomas Holtkötter"> <meta name="keywords" content="EasyGallery, WingNut, projects, wingnut.net.ms"> <style type="text/css"> BODY{margin: 0 auto;} *{margin:0;padding:0;} .error{margin-left:8px;background-color:#999;width:100%;height:40px;font-family: Verdana, Arial, Helvetica, sans-serif;font-size:11px;font-weight:bold;} .select {font-family: Verdana, Arial, Helvetica, sans-serif;font-size:11px;font-weight:bold;color:#666;margin-left:8px;margin-top:8px;border: 0px;} .thumbnails{background-color:#FFF;border:#fff 2px solid;} </style> <script type="text/javascript" language="javascript" src="lytebox/lytebox.js"></script> <link rel="stylesheet" href="lytebox/lytebox.css" type="text/css" media="screen" /> <?php // --Comenzar preprocesamiento $phpself = $_SERVER['PHP_SELF']; // tipos de archivos $filetypes = array("gif", "GIF", "jpg", "JPG"); $k = sizeof($filetypes); for ($i=0; $i<$k; $i++) { $filetypes[] = strtoupper($filetypes[$i]); //strtoupper convierte a mayusculas todos los elementos del array filetypes } // extraer imagenes de la carpeta local if (strpos($root_dir,'www')===0) { $root_dir = 'http://'.$root_dir; } $local = parse_url($root_dir);//procesamos la url de "$root_dir" y la dividimos en partes dentro de un array que se llamará local if (strpos($root_dir,'http://')===0) { foreach (count_chars($phpself,1) as $i=>$val)//cuenta los caracteres de la ruta y los comprueba { if (chr($i)=='/')//Si encontramos un subdirectorio { $root_dir = substr($local['path'],1);//guardamos en $root_dir toda la ruta for ($j=1;$j<$val;$j++) $root_dir='../'.$root_dir; } } if (strpos($root_dir,$local['path'])===0) { $root_dir = "."; } } // Escaneo del directorio para ver las carpetas y comprobar si contienen archivos de imagen if (!is_dir($root_dir))//si $root_dir no es un directorio-ERROR { echo "<div align='center' class=\"error\">"; echo "<span class=\"content\"><br>ERROR: folder not found.</span>"; echo "</div>"; exit(); } $root_handle = opendir($root_dir); while ($dirname = readdir($root_handle)) { if ($dirname!='system'){ // strcmp(a,b) Comparacion de cadenas, // Devuelve < 0 si cadena a es menor que cadena b; // > 0 si cadena a es mayor que cadena b // y 0 si son iguales. $var1 = strcmp($dirname,'.'); $var2 = strcmp($dirname,'..'); line 151 $var3 = is_dir($root_dir.'/'.$dirname); if (($var1!=0) && ($var2!=0) && ($var3==1)) { $dir_handle = opendir($root_dir.'/'.$dirname); $postmp = 0; while ($filename = readdir($dir_handle)) { for ($i=0;$i<sizeof($filetypes);$i++) { $postmp = strpos($filename, $filetypes[$i]); if ($postmp>0) { $folders[] = $root_dir.'/'.$dirname; break 2; } } } closedir($dir_handle); } } } if (!$folders) { echo "<div class=\"error\">"; echo "<span class=\"content\"><br>ERROR: Searched folders don't contain any image! Please change the \$root_dir.</span>"; echo "</div>"; exit(); } $ordner = $ref; // Exploración de los directorios de archivos de imagen if (is_dir($ordner)){ $dir_handle = opendir($ordner); while ($filename = readdir($dir_handle)) { for ($i=0; $i<sizeof($filetypes); $i++) { $pos = strpos($filename, $filetypes[$i]); $var1 = strcmp($filename,'.'); $var2 = strcmp($filename,'..'); $var3 = is_file($ordner.'/'.$filename); if (($var1 != 0) && ($var2 != 0) && ($var3 == 1) && ($pos > 0)) { $files[] = $filename; } if ($filename=="thumbnails") { $thumbs = 1; } } } sort($files); $size = sizeof($files); closedir($dir_handle); closedir($root_handle); } else { echo "<div class=\"error\">"; echo "<span class=\"content\"><br>ERROR: folder not found.</span>"; echo "</div>"; exit(); } ?> <?php $xpos=8; $ypos=6; $count = 0; $newthumbs = false; $divheight = ceil(count($files)/$columns) * ($thumbwidth+6) + 6; echo "<table height=$divheight width=100% cellspacing=0 cellpadding=0 ><tr valign=top><td>\n"; for ($y=0;$y<count($files);$y++) { $tn_src = $ordner."/thumbnails/".$files[$count]; if (file_exists($tn_src)) { $image = GetImageSize($tn_src); if ($image[0]==$image[1]){} elseif ($image[0]<$image[1]) $xpos += intval(($image[1]-$image[0])/2); else $ypos += intval(($image[0]-$image[1])/2); echo "<div id=\"livethumbnail\" style=\"left:".$xpos."px; top:".$ypos."px; position:relative; zindex:1;\">"; if($slideshow!=1){ echo "<a href=\"".$ordner."/".$files[$count]."\" rel=lytebox[".$ordner."]>"; } else{ echo "<a href=\"".$ordner."/".$files[$count]."\" rel=lyteshow[".$ordner."]>"; } echo "<img src=\"$tn_src\" class=\"thumbnails\" alt=\"$files[$count]\" style=\"width:$image[0]; height:$image[1]; left:0px; top:0px; position:absolute;\"></a></div>\n"; if ($image[0]==$image[1]){} elseif ($image[0]<$image[1]) $xpos -= intval(($image[1]-$image[0])/2); else $ypos -= intval(($image[0]-$image[1])/2); } else { $modules = get_loaded_extensions(); if(!in_array("gd", $modules)){ echo "<div class=\"error\">"; echo "<span class=\"content\"><br>Your Webserver doesn't provide the GD library, which is required to create thumbnails. Please create and add your thumbnails manually.</span>"; echo "</div>"; exit(); } if(createthumb($ordner,$files[$count],$thumbwidth)) { echo "$files[$count] created.<br>"; $newthumbs = true; } else { echo "<div class=\"error\">"; echo "<span class=\"content\"><br>Thumbnail Creation failed.</span>"; echo "</div>"; exit(); } } $count++; if($count%$columns==0) { $ypos += $thumbwidth+6; $xpos = 8; } else { $xpos += $thumbwidth+6; } } if($newthumbs) { echo "<script>location.reload()</script>"; } echo "</td></tr></table>\n"; //echo '<p><a href=http://www.palacesestateagency.com/index.php style=margin-left:8px>Go to home</a></p>'; // dont even think about removing this link! echo "\n</body>"; //Funcion para crear los thumbnails function createthumb($name,$file,$maxsize) { list($width, $height) = getimagesize("$name/$file"); $width = min($width, $height); $tn = imagecreatetruecolor($maxsize, $maxsize); $image = imagecreatefromgif("$name/$file"); imagecopyresampled($tn, $image, 0, 0, 0, 0, $maxsize, $maxsize, $width, $width); imagegif($tn, "$name/thumbnails/$file", 70); return true; } ?>
por si sirve de algo, en mi PC con el xammp me funciona bien pero al subirlo me da el error. GRACIAS