Caricamento pagina e spreco banda

mandroid

Utente Attivo
8 Lug 2013
56
0
0
Ciao,
dopo aver risolto questo tipo di problema: http://forum.mrwebmaster.it/php/35435-galleria-funziona-dopo-refresh.html#post139970 ne ho un'altro.
Siccome la pagina che carica la galleria ha molte immagini per ora da 6000 a 10000 ho visto che viene sprecata molta banda perchè le immagini vengono caricate tutte insieme, ma girando sulla rete ho visto dei plugin tipo LazyLoad che serve per caricare solo quello che serve in dato momento e non tutte le immagini, ho provato anche infinite scroll che più o meno ha la stessa funzione.

Il fatto è che questi plugin funzionano solo con i singoli link e non con lo script che uso io: link allo script quindi per il mio problema non vanno bene avendo tantissime immagini da caricare.

Esiste una soluzione?


Grazie.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
146
63
PR
www.borgo-italia.it
ciao
forse guadagni qualcosa paginando (se non ricordo male estrai le immagini con glob).
ti do uno schema
PHP:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Documento senza titolo</title>
<style type="text/css">
<!--
body {
	background-color: #999999;
}
table{background-color:#333333;}
th, td{text-align:center;}
td{border-color:#000000; border-width:1px; border-style:solid;}
a{color:#CCCCCC; text-decoration:none; font-weight:bold;}
a:hover{color: #FF0000;}
-->
</style>
</head>
<body>
<?php
$immagini = glob("cartella/*.jpg");
// RECUPERO LA PAGINA CORRENTE
$pag_corrente = trim($_REQUEST[page]);
// IMPOSTAZIONI GEERALI
$per_pagina = 9;
$num_pagine = ceil(count($immagini) / $per_pagina);
if(!$pag_corrente || $pag_corrente > $num_pagine){
	$pag_corrente = 0;
}
$inizio = $pag_corrente * $per_pagina;
$fine = ($pag_corrente * $per_pagina) + $per_pagina;
// MEMORIZZO IN UN ARRAY TEMPORANEO GLI ELEMENTI CHE VOGLIO VISUALIZZARE
foreach($immagini as $key => $val){
	if($key >= $inizio && $key < $fine){
		$dati_temp[] = $immagini[$key];
	}
}
echo "<table width=\"80%\"  border=\"0\" align=\"center\" cellpadding=\"3\" cellspacing=\"0\">";
echo "<tr>";
echo "<th>";
if($pag_corrente > 0 && $pag_corrente < $num_pagine){
	echo '<a href="?page=' . ($pag_corrente - 1) . '">« prev';
}
echo "</th>";
echo "<th>&nbsp;</th>";
//echo "<tr>";
echo "<th>";
if($num_pagine > $pag_corrente && ($pag_corrente + 1) < $num_pagine){
	echo '<a href="?page=' . ($pag_corrente + 1) . '" class="right">next »';
}
echo "</th>";
echo "</tr>";
$colonne=0;
foreach($dati_temp as $imm){
	if($colonne==0){echo "<tr>";}
	echo "<td><img src=\"$imm\" width=\"100\"></td>";
	if($colonne==2){
		echo "</tr>";
		$colonne=0;
	}else{
		$colonne++;
	}
}
echo "</table>";
?>
</body>
</html>
è evidente che ti conviene caricare le immagini tumb e dove si visualizzano modificare con link che richiama l'immagine originale
 

mandroid

Utente Attivo
8 Lug 2013
56
0
0
ciao
forse guadagni qualcosa paginando (se non ricordo male estrai le immagini con glob).
ti do uno schema
PHP:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Documento senza titolo</title>
<style type="text/css">
<!--
body {
	background-color: #999999;
}
table{background-color:#333333;}
th, td{text-align:center;}
td{border-color:#000000; border-width:1px; border-style:solid;}
a{color:#CCCCCC; text-decoration:none; font-weight:bold;}
a:hover{color: #FF0000;}
-->
</style>
</head>
<body>
<?php
$immagini = glob("cartella/*.jpg");
// RECUPERO LA PAGINA CORRENTE
$pag_corrente = trim($_REQUEST[page]);
// IMPOSTAZIONI GEERALI
$per_pagina = 9;
$num_pagine = ceil(count($immagini) / $per_pagina);
if(!$pag_corrente || $pag_corrente > $num_pagine){
	$pag_corrente = 0;
}
$inizio = $pag_corrente * $per_pagina;
$fine = ($pag_corrente * $per_pagina) + $per_pagina;
// MEMORIZZO IN UN ARRAY TEMPORANEO GLI ELEMENTI CHE VOGLIO VISUALIZZARE
foreach($immagini as $key => $val){
	if($key >= $inizio && $key < $fine){
		$dati_temp[] = $immagini[$key];
	}
}
echo "<table width=\"80%\"  border=\"0\" align=\"center\" cellpadding=\"3\" cellspacing=\"0\">";
echo "<tr>";
echo "<th>";
if($pag_corrente > 0 && $pag_corrente < $num_pagine){
	echo '<a href="?page=' . ($pag_corrente - 1) . '">« prev';
}
echo "</th>";
echo "<th>&nbsp;</th>";
//echo "<tr>";
echo "<th>";
if($num_pagine > $pag_corrente && ($pag_corrente + 1) < $num_pagine){
	echo '<a href="?page=' . ($pag_corrente + 1) . '" class="right">next »';
}
echo "</th>";
echo "</tr>";
$colonne=0;
foreach($dati_temp as $imm){
	if($colonne==0){echo "<tr>";}
	echo "<td><img src=\"$imm\" width=\"100\"></td>";
	if($colonne==2){
		echo "</tr>";
		$colonne=0;
	}else{
		$colonne++;
	}
}
echo "</table>";
?>
</body>
</html>
è evidente che ti conviene caricare le immagini tumb e dove si visualizzano modificare con link che richiama l'immagine originale
Grazie, sempre gentile e disponibile :fonzie: hai fatto un capolavoro!!
ma io non ho bisogno di tutto questo perchè già uso questo:

PHP:
<?php
$directory = "imgfold/animals/*.jpg";
$files=glob($directory);
$files=array_map("basename", $files);
foreach($files as $ch => $file){
    echo "<li><a href=\"imgfold/animals/$file\"><img src=\"imgfold/animals/thumb/$file\" alt=\"- $ch\" /></a></li>"; 
}
?>
ed usando il tuo script mi salta tutto il lavoro già fatto, nel senso che non mi linkano le immagini, mi salta la galleria.....
io cercavo solo una soluzione più semplice di caricamento che venissero caricate solo le immagini necessarie ed al girare della rotellina del mouse venissero caricate automaticamente tipo questo: http://alexandrupitea.ro/nettuts/scroll/
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
146
63
PR
www.borgo-italia.it
ciao
per trasformare quello che ho fatto io in quello che hai fatto tu ci vogliono poche modifiche.
ho guardato il link che hai postato è ho visto che usano js, mentre con php me la cavicchio con js sono una frana.
comunque essendo js ti conviene aprire un post nella sua sezione
 

mandroid

Utente Attivo
8 Lug 2013
56
0
0
ciao
per trasformare quello che ho fatto io in quello che hai fatto tu ci vogliono poche modifiche.
ho guardato il link che hai postato è ho visto che usano js, mentre con php me la cavicchio con js sono una frana.
comunque essendo js ti conviene aprire un post nella sua sezione
Grazie per il consiglio, comunque con il PHP te la cavi benissimo e come..... :cool: sei un grande!