Java Script in locale

Area di discussione libera.

Moderatore: Staff

Regole del forum
1) Rispettare le idee altrui.
2) Evitare le offese dirette.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
alex.franci
Linux 2.x
Linux 2.x
Messaggi: 380
Iscritto il: mer 26 lug 2006, 10:26
Località: Bologna
Contatta:

Java Script in locale

Messaggio da alex.franci »

Ciao a tutti!
Ho installato Apache (urrà!) e PHP (urrà!), ma non mi funziona Java Script.

Cioè... nel mio file php c'è dentro un rimando ad un file Java Script.

Questo è il Java Script [popup.js]:

Codice: Seleziona tutto

function PrevFoto(img){
  foto1= new Image();
  foto1.src=(img);
  Controlla(img);
}
function Controlla(img){
  if((foto1.width!=0)&&(foto1.height!=0)){
    viewFoto(img);
  }
  else{
    funzione="Controlla('"+img+"')";
    intervallo=setTimeout(funzione,100);
  }
}

function viewFoto(img){
  largh=foto1.width+20;
  altez=foto1.height+25;
  stringa="width="+largh+",height="+altez;
  finestra=window.open(img,"",stringa);
}
e questa è la pagina php [prova.php]:

Codice: Seleziona tutto

<html>
<head>
<title>prova</title>
<script type="text/javascript" src="./popup.js">
</head>
<body>
	
	<?php

	//* restituisce true se il file non è un'immagine *
	function fImage($file){
		$ext=strtolower(substr($file,-3,3)); //ottiene l'estensione del file
			switch ($ext) {
				case "jpg":
				  break;
				case "peg":
				  break;
				case "bmp":
				  break;
				case "png":
				  break;
				case "gif":
				  break;
				case "iff":
				  break;
				case "tif":
				  break;
				default:
					return true; //se non è un'immagine da true
			}
	}

		$dir=".";
		$handle=opendir($dir);

		//* inserisce le immagini nel documento *
			while ($file = readdir($handle)) {
				if (fImage($file) != true) {
				echo "<a href=\"".$file."\" onclick=\""PrevFoto('".$file."');return(false)"\">";
				echo "<img src="."\"thumb.php?img=".$file."\">";
				echo "</a>";
				echo "\n"."<br>"."\n";
				}
			}
		
		closedir ($handle);
	?>

</body>
</html> 
Se io la carico da locale, non mi visualizza assolutamente nulla. Se invece la carico da web (http://alexfranci.altervista.org/provaphp/prova.php) non da problemi.

Allora ho provato a togliere dal prova.php locale lo script java e funziona.

Che può essere? Grazie mille

Avatar utente
whites11
Linux 4.x
Linux 4.x
Messaggi: 1147
Iscritto il: ven 30 set 2005, 13:54
Località: Udine

Messaggio da whites11 »

php funziona correttamente?
prova, magari, con un file php con questo contenuto...

Codice: Seleziona tutto

<?php
phpinfo();
?>

Avatar utente
capitanfuturo
Linux 0.x
Linux 0.x
Messaggi: 43
Iscritto il: gio 5 ott 2006, 14:10
Località: Padova
Contatta:

Messaggio da capitanfuturo »

A me sembra che ci siano delle virgolette di troppo, prova ad usare gli apici ' al posto del tag \" ed infine il javascript deve essere all'interno del testo html e non php se no non viene interpretato... questa riga mi convince poco:

Codice: Seleziona tutto

echo "<a href=\"".$file."\" onclick=\""PrevFoto('".$file."');return(false)"\">";
prova con

Codice: Seleziona tutto

echo "<a href='".$file."'onclick='PrevFoto('".$file."')>";
echo "<img src='thumb.php?img=".$file."'>";
echo "</a><br>"; 

Avatar utente
alex.franci
Linux 2.x
Linux 2.x
Messaggi: 380
Iscritto il: mer 26 lug 2006, 10:26
Località: Bologna
Contatta:

Messaggio da alex.franci »

grazie a tutti per le risposte...

mi sa che c'era qualche casino con le virgolette e gli apici... con questa riga funziona:

echo "<a href=\"".$file."\" onclick=\"PrevFoto('".$file."');return(false)\">";

mi sa che gli apici non gli piacevano :D

posso farvi un'altra domanda? quando apro una directory col comando opendir, nella guida che ho letto (da html.it) mette un handle:

$handle=opendir($dir);

che cos'è? a cosa serve? so che è necessario, ma non ne capisco l'utilità...

grazie mille

Avatar utente
capitanfuturo
Linux 0.x
Linux 0.x
Messaggi: 43
Iscritto il: gio 5 ott 2006, 14:10
Località: Padova
Contatta:

Messaggio da capitanfuturo »

Secondo me ti conviene leggere direttamente la documentazione ufficiale di php
vai qui http://it.php.net/manual/it/function.opendir.php.
La variabile che chiamano handle è un punatatore all'oggetto resource che ti viene restituito dalla funzione opendir()

Avatar utente
albatros
Iper Master
Iper Master
Messaggi: 2098
Iscritto il: sab 4 feb 2006, 13:59
Kernel: 6.18.0
Desktop: gnome and lxqt
Distribuzione: Ubuntu 24.04 & FC 41
Località: Darmstadt - Germania

Messaggio da albatros »

E' la "maniglia" che ti consente di lavorare con la directory, è una struttura che fa riferimento alla directory che hai aperto...
Se dovessi aprire due directory, potresti usare
$uno=opendir(nome_prima_directory);
$due=opendir(nome_seconda_directory);

Con $uno o $due fai poi riferimento all'una o all'altra, come viene fatto anche nel tuo caso con il ciclo while successivo...
Noterai che il comando per leggere la tua prima directory fa riferimento a $handle e così pure closedir alla fine...

Rispondi