Jump to content


Photo

Script Q Lista Imagens Da Pasta


  • Faça o login para participar
Nenhuma resposta neste tópico

#1 snkneo

snkneo

    Normal

  • Usuários
  • 118 posts
  • Sexo:Não informado
  • Localidade:Brazil
  • Interesses:Girls, Sexo, Games

Posted 22/05/2006, 18:38

Alguem poderia me ajudar a encontrar o erro desse script? Tipo, eu peguei um codigo dele na net e readaptei pra uma necessidade, mas, nao consegui entende-lo la muito bem. Parece q tem array dentro de array,

Se alguem q entenda um pouco melhor, consiga me dizer oq pode-se ser retirado dele... ou melhorado.
Outro fato é que preciso de que ele liste as imagens em ordem, pq eu adaptei o mesmo codigo pra abrir primeiro as miniaturas e depois ao clicar abrir a foto grande, porem, ao clicar abre a foto, mas nao eh a mesma da miniatura, pq ele faz uma ordem diferente.

Tem como fazer ficar uma ordem sempre a mesma?

grato;
$numero_de_fotos = "20";	//Número de fotos por página
$numero_de_colunas = "4";	//Número de colunas por página
$dir	=   $_GET["id"];
//$dir = "001"; // Deretório a ser listado
$tipo_de_arquivo = ".jpg"; //Especifique aqui o tipo do arquivo a ser listado, para mais de um coloque || EX. .gif||.jpg

////////////////////////////////////////////////////////////////////
//Verificar Diretório e Gerar Array com o índice de todas as fotos
////////////////////////////////////////////////////////////////////

$$dir = @opendir($dir) or die("Erro: Diretório inexistente!"); //Tenta abrir o diretório, caso não consiga, mostra a mensagem de erro.

while (false !== ($file = readdir($$dir))) {
	if (ereg("$tipo_de_arquivo",$file)) { 
	if (ereg("t_",$file)) {
	if ($file != "." && $file != "..") {
	
	$i++;
	$indice[$i] = "$dir/$file"; 
	}
}
}
}
sort($indice);
$indice = array_chunk($indice,$numero_de_fotos);	// Gera as paginas com o ARRAY_CHUNK (arredonda)

$n_page = count($indice);	// Calcula o Número de Paginas, -1 devido a o indice inicia em 0

// Corrige a indexação de paginas que iniciam em zero, cometido pelo array_chunck

for($i=$n_page; $i >= 0; $i--){
	$indice[$i+1] = $indice[$i];	
}

//Define e reconhece a página a ser exibida

if (isset($_GET['foto'])){
	$foto = $_GET['foto'];
} else {
	$foto = 1;
}

//Verificase a página é realmente válida

if ($foto > $n_page || $foto == 0) {
	die("Erro: Pagina solicitada inexistente!");
}
?>
<table align="center" width="90%" border="0" cellpadding="0" cellspacing="0">
<tr><td valign="top" align="right">
<?
$path = $indice[$foto][$foto]; // Armazena o diretório do arquivo de acordo com a foto

echo "<td align=center>"; 

for ($i=0; $i < $numero_de_fotos; $i++) {
	if ($indice[$foto][$i] != "") {	//Retira a possibilidade de criar um erro de lógica na última página.

		$path = $indice[$foto][$i];	// Armazena o diretório do arquivo de acordo com a página
		$p = $i + 1;
echo '<a href=java script:MM_openBrWindow(\'1pop_teste.php?id='.$dir.'&foto='.$p.'\',\'\',\'scrollbars=yes,resizable=yes,width=780,height=575,top=1,left=5\')><img src='.$path.' class=gray onMouseOut=this.className="gray" onMouseOver=this.className="color" border="0"> </a>';

//		echo "<a href=java script:MM_openBrWindow('1pop_teste.php?foto=".$i."'','','scrollbars=yes,resizable=yes,width=780,height=575,top=1,left=5')><img src='$path' class=gray onMouseOut=this.className='gray' onMouseOver=this.className='color' border='0'> </a>";	//Exibe o arquivo, no caso, um arquivo de foto, você poderá trocar aqui!

		if (($i+1) % $numero_de_colunas == 0) {  //Verifica o número de colunas exata especificada em "$numero_de_colunas".
			print "<br>"; //Quebra a linha caso o número passe da quantidade setada por $numero_de_colunas.
		}
	}
}
print "</tr><tr><td>&nbsp;<td align=center><br>";
for ($i=1; $i <= $n_page; $i++) {
	if ($i != $foto) {	//Testa a pagina atual, é diferente da que esta sendo vista.
		print "<a href=".$PHP_SELF."?id=$dir&foto=$i> $i</a>"; //Gera o link para a página atual.
	} else {
		print " [<b>$i</b>]</u>"; //Cloqueia o link para a página atual fazendo com que nem por engano o usuário clique no link da própria página atual
	}
}
print "</tr></table>";
?>






0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq