Código PHP:
$variable = 1;//seteamos a 0 el sumador
$valor = 3;//seteamos a 4 las imagenes a mostrar por cada linea
if( $directorio = opendir("xxxx/xxxx/images/principal/") ){
echo "\n\t<table>\n\t\t<tr>\n";
while (false !== ($archivo = readdir($directorio))) {
if($archivo === '.' || $archivo === '...') continue;
if (strpos($archivo, '.gif',1) || strpos($archivo, '.jpg',1) || strpos($archivo, '.png',1) || strpos($archivo, '.bmp',1)) {
if($variable > $valor){
echo "<tr>\n";
}
$archi = pathinfo($archivo);
$sinExtension = str_replace('.'.$archi['extension'],'',$archivo);
echo "\n\t\t<td class='posada'>\n<a href='posada/ver_posada2.php?codigo=$sinExtension'>";
echo "\n\t\t<img src='xxxx/xxxx/images/principal/$archivo' width='170' height='170' border='0'>\n";
echo "";
echo "<td>$nombre_posada</td>";
echo "<td></td>";
echo "<td></td>";
if($variable >= $valor){// si es mayor o igual añadimos </TR>
echo "</tr>";
$variable = 0;//seteamos a 0 el sumador y volvemos a empezar si quedan mas imagenes
}//end if
$variable++;//empezamos a sumar +1
}
}//end while
closedir($directorio);
echo "</table>\n";
}
eso debería estar bien.. veré lo demás..
Código PHP:
// aqui remplazas la extencion, eso esta bien, para mostrar SOLO el nombre de el fichero
$sinExtension = str_replace('.'.$archi['extension'],'',$archivo); $archivo2[] = $sinExtension, -1);
//aqui no necesitas substr.. la extencion ya no existe, solo te queda el nombre del fichero
$archivo2[] = $sinExtension;
en cuanto a.. :
Código PHP:
foreach($campos as $valor){ //recorremos el array1 valor por valor
if(in_array($valor, $archivo2) !== false){ //y le preguntamos: esta el valor en el que estamos posicionados actualmente, en el array 2?
echo "si esta! " . $valor .'<br>';
}
else {
echo "no esta .." . $valor . '<br>';
}
}
estas comparando IDS con Nombres de ficheros, eso esta bien?
(en otras palabras.. si el ID es un numero, y el fichero un nombre.. nunca encontrara nada)
array_search = devuelve la posición del array en la que se encuentra la búsqueda actual, si coincide el valor buscado o false.
in_array = devuelve true, o false, si encuentra/ o no
ten cuidado con $valor, la sobre escribes en el foreach, ya estaba declarada antes de hacer el mismo