Galleria funziona solo dopo refresh

  • Creatore Discussione Creatore Discussione mandroid
  • Data di inizio Data di inizio

mandroid

Utente Attivo
8 Lug 2013
56
0
0
Ciao,
sono all'inizio della mia esperienza con la programmazione e mi sto cimentando in una galleria con jquerymobile e php, però il problema è che quando appare la galleria e clicco sulla miniatura per ingrandirla mi appare una pagina bianca, se invece torno indietro faccio f5 per agiornare e clicco sulla miniatura la galleria funziona!!


Questo è il codice che uso:
PHP:
 <?php
$directory = dirname(__FILE__)."/images/";
if (is_dir($directory)) {
    if ($directory_handle = opendir($directory)) {
        while (($file = readdir($directory_handle)) !== false) {
            if((!is_dir($file))&($file!=".")&($file!=".."))
                echo "<li><a href=\"/images/".$file."\"><img src=\"/images/thumb/".$file."\" alt=\"Image 01\" /></a></li>";
        }
        closedir($directory_handle);
    }
}
?>

dove sbaglio? Grazie
 
ciao
intanto ti conviene usare la funzione glob(), poi verifica i percorsi
PHP:
<?php
$directory = dirname(__FILE__)."/images/*.jpg";//estrae tutti i file di tipo jpg
//se hai anche file png e/o gif poi fai l'array_merge
$files=glob($directory);
echo "<ul>";
foreach($files as $ch => $file){
	echo "<li><a href=\"/images/$file\"><img src=\"/images/thumb/$file\" alt=\"Image $ch\" /></a></li>"; 
}
echo "</ul>";
?>

se la cartella images è una sottocartella di quella in cui si trova il file galleria dovrebbe bastarti
PHP:
<?php
$directory = "images/*.jpg";
$files=glob($directory);
echo "<ul>";
foreach($files as $ch => $file){
	echo "<li><a href=\"images/$file\"><img src=\"images/thumb/$file\" alt=\"Image $ch\" /></a></li>"; 
}
echo "</ul>";
?>
prova
al massimo non funzia
 
Prima di tutto grazie per la risposta :)

difatti non funziona perchè se guardo il link in basso a sx quando ci clicco sopra mi da un doppio link ad images: miosito.com/images/images/nomeimmagine, e poi mi visualizza:

  1. image01
  2. image01
  3. image01
  4. image01
.......

ma il mio problema rimane perche quando clicco dalla home page per richiamare il tuo script, mi appare la pagina bianca, e se faccio refresh mi apparela lista su detta.

se vuoi ti mando i link del sito.

Grazie ancora
 
Prima di tutto grazie per la risposta :)

difatti non funziona perchè se guardo il link in basso a sx quando ci clicco sopra mi da un doppio link ad images: miosito.com/images/images/nomeimmagine, e poi mi visualizza:

  1. image01
  2. image01
  3. image01
  4. image01
.......

ma il mio problema rimane perche quando clicco dalla home page per richiamare il tuo script, mi appare la pagina bianca, e se faccio refresh mi apparela lista su detta.

se vuoi ti mando i link del sito.

Grazie ancora
Sono riuscito a farlo funzionare mi da la galleria senza le immagini, e quando ci clicco sopra mi da la famosa pagina bianca!! se torno indietro e faccio refresh funziona.... :incazz2:
 
Potrebbe essere la versione di PHP installata sul server non compatibile oppure settata male?
 
ciao
scusa mi era rimasta nella "penna" un'istrizione
PHP:
<?php
$directory = "images/*.jpg";
$files=glob($directory);
$files=array_map("basename", $files);// !!!!!!!!! questa
echo "<ul>";
foreach($files as $ch => $file){
    echo "<li><a href=\"images/$file\"><img src=\"images/thumb/$file\" alt=\"Image $ch\" /></a></li>"; 
}
echo "</ul>";
?>
 
Sei gentilissimo lo script è perfetto!!!! ma il problema non l'ho risolto

funziona solo se aggiorno la pagina!! :dipser:

Se vuoi ti do il link del sito così impazzisci anche tu! :evil:
 
Ultima modifica di un moderatore:
pixemitter.com/index.php
lo stesso problema c'è l'ho sia con il codice aggiuntivo sia se uso lo script da solo
quando clicchi sulla prima voce appare la galleria se sclicchi appare la pagina bianca ma se torni indietro aggiorni la galleria funziona alla perfezione!
 
Ultima modifica:
ciao
c'è qualcosa che non torna nel link
1) chiami pixemitter.com/index.php
2) arrivi alla pag index che ti chiede
Panorama
click to see....
3) clicchi e arriva alla pag http://pixemitter.com/gallery1.php
ora passando col muose sulle emmagini (es sulla prima) l'url risulta
pixemitter.com/imageges/pixemitter.com 007.jpj
secondo me stai facendo qualche errore nel link,
l'url dovrebbe essere
pixemitter.com/imageges/007.jpj
cioè quel
pixemitter.com
non dovrebbe esserci
posta tutto il codice della pag gallery1.php
 
ciao
c'è qualcosa che non torna nel link
1) chiami pixemitter.com/index.php
2) arrivi alla pag index che ti chiede
Panorama
click to see....
3) clicchi e arriva alla pag http://pixemitter.com/gallery1.php
ora passando col muose sulle emmagini (es sulla prima) l'url risulta
pixemitter.com/imageges/pixemitter.com 007.jpj
secondo me stai facendo qualche errore nel link,
l'url dovrebbe essere
pixemitter.com/imageges/007.jpj
cioè quel
pixemitter.com
non dovrebbe esserci
posta tutto il codice della pag gallery1.php

è corretto perchè pixemitter.com+numero.jpg è il nome dell'imagine.
 
Questo è il codice completo, comunque lo stesso problema c'è l'ho anche con solo lo script devo sempre prima aggiornare!

gallery1.php

PHP:
<!DOCTYPE html> 
<html> 
	<head> 
		<title>Gallery</title> 
		<meta name="viewport" content="width=device-width, initial-scale=1" /> 
		<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.css" />
		<link rel="stylesheet" href="css/style.css" />		
		<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
		<script type="text/javascript" src="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.js"></script>
		<script type="text/javascript" src="js/script.js"></script>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head> 
	<body>
		<div data-role="page" class="page gallery-page">
			<div data-role="header">
				<a href="gallery.html" data-icon="arrow-l" data-rel="back" data-direction="reverse">Back</a>
				<a href="index.html" data-icon="home" data-direction="reverse">Home</a>
				<h1>PANORAMA</h1>
			</div><!--/header-->
			<div data-role="content" class="full-width">
				<ul class="gallery three-column-gallery" id="gallery">
	
 <?php
$directory = "images/*.jpg";
$files=glob($directory);
$files=array_map("basename", $files);
echo "<ul>";
foreach($files as $ch => $file){
    echo "<li><a href=\"images/$file\"><img src=\"images/thumb/$file\" alt=\"Image $ch\" /></a></li>"; 
}
echo "</ul>";
?> 
					 
					
				</ul>		
			</div><!-- /content -->

		</div><!-- /page -->
		
		
	</body>
</html>
 
ciao
metti un var_dump (vedi commento), prova e dimmi cosa riporta
PHP:
<!DOCTYPE html> 
<html> 
    <head> 
        <title>Gallery</title> 
        <meta name="viewport" content="width=device-width, initial-scale=1" /> 
        <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.css" />
        <link rel="stylesheet" href="css/style.css" />        
        <script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
        <script type="text/javascript" src="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.js"></script>
        <script type="text/javascript" src="js/script.js"></script>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head> 
    <body>
        <div data-role="page" class="page gallery-page">
            <div data-role="header">
                <a href="gallery.html" data-icon="arrow-l" data-rel="back" data-direction="reverse">Back</a>
                <a href="index.html" data-icon="home" data-direction="reverse">Home</a>
                <h1>PANORAMA</h1>
            </div><!--/header-->
            <div data-role="content" class="full-width">
                <ul class="gallery three-column-gallery" id="gallery">
 <?php
$directory = "images/*.jpg";
$files=glob($directory);
$files=array_map("basename", $files);
foreach($files as $ch => $file){
    var_dump($file);//***questo
	echo "<li><a href=\"images/$file\"><img src=\"images/thumb/$file\" alt=\"Image $ch\" /></a></li>"; 
}
?> 
                </ul>        
            </div><!-- /content -->
        </div><!-- /page -->
    </body>
</html>
 
tra le foto della galleria m da queste scritte :
string(23) "picxemitter.com 007.jpg"
Image 0
string(23) "picxemitter.com 011.jpg"
Image 1
string(23)

qundo clicco sulla thumb:
public_html images +thumb index.php (with homepage) gallery1.php (script inside) other dir other files

se invece faccio f5 funziona, se vuoi puoi provarlo.
 
ciao
intanto prova così, se funzia non è una soluzione elegante perchè sarebbe meglio capire il perchè si insinua quel picxemitter.com
PHP:
<?php
$directory = "images/*.jpg";
$files=glob($directory);
$files=array_map("basename", $files);
foreach($files as $ch => $file){
    //prova ad aggiungere questa,
	$file=trim(str_replace("picxemitter.com", "", $file));
    echo "<li><a href=\"images/$file\"><img src=\"images/thumb/$file\" alt=\"Image $ch\" /></a></li>"; 
}
?>
domani ci penso meglio
 
ciao
intanto prova così, se funzia non è una soluzione elegante perchè sarebbe meglio capire il perchè si insinua quel picxemitter.com
PHP:
<?php
$directory = "http://forum.mrwebmaster.it/images/*.jpg";
$files=glob($directory);
$files=array_map("basename", $files);
foreach($files as $ch => $file){
    //prova ad aggiungere questa,
	$file=trim(str_replace("picxemitter.com", "", $file));
    echo "<li><a href=\"http://forum.mrwebmaster.it/images/$file\"><img src=\"http://forum.mrwebmaster.it/images/thumb/$file\" alt=\"Image $ch\" /></a></li>"; 
}
?>
domani ci penso meglio
come dicevo in un post precedente il pixemitter.com sono i nomi delle immagini, cono la sequenza numerica perchè ho dovuto ridimensionarle...... comunque le cambio
 
ciao
scusa mi era sfuggito.
ma devi dargli proprio quel nome?
non mi piace quel punto com
comunque faccio una prova e guardo che non sia quello.
domani però
 

Discussioni simili