Repository 32bit  Forum
Repository 64bit  Wiki

PHP: strano comportamento di getimagesize [risolto]

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
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.

PHP: strano comportamento di getimagesize [risolto]

Messaggioda aschenaz » dom set 06, 2009 8:41

Da quando ho fatto l'upgrade, noto in locale (in remoto è ok) uno strano
comportamento di getimagesize: in una pagina in cui ci sono diverse
istanze della funzione, per la prima funziona, per le altre, invece, mi
restituisce questo errore:
Codice: Seleziona tutto
Warning: getimagesize(ban/video.jpg) [function.getimagesize]: failed to open stream: Permission denied in ...

I permessi li ho persino portati a 777 e non è cambiato nulla.
Da cosa potrebbe dipendere?
La cosa strana è (ripeto) che la prima istanza della pagina funziona
perfettamente... :roll:
pensieriemotivi.aschenaz.eu - music-blog
Avatar utente
aschenaz
Staff
Staff
 
Messaggi: 4438
Iscritto il: mar lug 27, 2004 23:00
Località: Reggio Calabria
Nome Cognome: Nino
Slackware: current 64bit
Kernel: 3.14.24
Desktop: KDE 4.10.5

Re: PHP: strano comportamento di getimagesize

Messaggioda conraid » dom set 06, 2009 9:11

a me sinceramente funziona normalmente, però io ho php5.3 nel mio pc
puoi postare il codice che utilizzi?
Avatar utente
conraid
Staff
Staff
 
Messaggi: 12023
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: PHP: strano comportamento di getimagesize

Messaggioda aschenaz » dom set 06, 2009 10:33

Praticamente sono istanze di questo metodo, che, in base alle associazioni
pagine<->banner, interroga il banner relativo alla posizione passata, ne calcola
le dimensioni e, se si tratta di uno .swf, lo visualizza come tale, altrimenti
lo visualizza come immagine statica. Di sicuro, si tratterà di qualche problema
di configurazione di apache o di php...

Codice: Seleziona tutto
function banner($p,$pos=1) {
      $pid=$this->onefselection("pagine","ID","WHERE Nome='$p'");
      $ba=$this->onefselection("banner_assoc","Bannerid","WHERE Paginaid='$pid' AND Posizione='$pos'");
      if($ba) {
         $ban=$this->onerselection("banner","*","WHERE ID='$ba'");
         if($ban) {
            $bandir=C_BAN;
            $banf=$bandir.$ban->Banner;
            list($width, $height) = getimagesize("$banf");
            $banalt=stripslashes($ban->Descrizione);
            $ban->URL!="" ? $banurlopen="<a href=\"http://$ban->URL\">" : $banurlopen="";
            $ban->URL!="" ? $banurlclose="</a>" : $banurlclose="";
            if(stristr(end(explode(".",$banf)),"swf")) echo "
               <object type=\"application/x-shockwave-flash\" width=\"$width\" height=\"$height\" data=\"$banf\">
                  <param name=\"flashvars\" value=\"foo=bar\" />
                  <param name=\"movie\" value=\"$banf\" />
                  <param name=\"quality\" value=\"high\" />
                  <param name=\"scale\" value=\"exactfit\" />
                  <param name=\"bgcolor\" value=\"#ffffff\">
                  alt : $banurlopen$banalt$banurlclose
               </object>";
            else echo "
                  $banurlopen<img alt=\"$banalt\" src=\"$banf\" width=\"$width\" height=\"$height\" />$banurlclose\n";
         }
      }
   }
pensieriemotivi.aschenaz.eu - music-blog
Avatar utente
aschenaz
Staff
Staff
 
Messaggi: 4438
Iscritto il: mar lug 27, 2004 23:00
Località: Reggio Calabria
Nome Cognome: Nino
Slackware: current 64bit
Kernel: 3.14.24
Desktop: KDE 4.10.5

Re: PHP: strano comportamento di getimagesize

Messaggioda conraid » dom set 06, 2009 10:41

intanto non vedo il motivo di usare getimagesize("$banf"), togli pure le virgolette, anche se l'errore non è certo qui
così come non mi piacciono quei echo " con poi l'escape, meglio ' '.$var.'', etc... ma qui si va gusti

le immagini sono tutte nella stessa directory?
Avatar utente
conraid
Staff
Staff
 
Messaggi: 12023
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: PHP: strano comportamento di getimagesize

Messaggioda targzeta » dom set 06, 2009 10:57

conraid ha scritto:...così come non mi piacciono quei echo " con poi l'escape, meglio ' '.$var.'', etc... ma qui si va gusti..
Si può anche usare echo " però usare il ' per fare l'escape in html, così verrebbe:
Codice: Seleziona tutto
echo "
 ...
<param name='movie' value='$banf' />
..."
Dovrebbe andare uguale (anche se sarebbe meglio un ${banf}), ma queste sono piccolezze che non c'entrano molto con il problema

Emanuele
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà
Avatar utente
targzeta
Iper Master
Iper Master
 
Messaggi: 6200
Iscritto il: gio nov 03, 2005 14:05
Località: Carpignano Sal. (LE) <-> Pisa
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM

Re: PHP: strano comportamento di getimagesize

Messaggioda aschenaz » dom set 06, 2009 11:00

conraid ha scritto:intanto non vedo il motivo di usare getimagesize("$banf"), togli pure le virgolette, anche se l'errore non è certo qui
così come non mi piacciono quei echo " con poi l'escape, meglio ' '.$var.'', etc... ma qui si va gusti

le immagini sono tutte nella stessa directory?

Si, originariamente non c'erano le virgolette: le ho aggiunte per fare delle
prove.
Del fatto degli escape avevamo parlato: è che sono abituato così... :)
Si, i banner (jpg o swf che siano) sono tutti nella directory ban...

Per quanto riguarda gli swf, so che per funzionare ha bisogno che il php sia
compilato col supporto statico alle zlib, ma il problema me lo sta dando
anche con le semplici immagini...
pensieriemotivi.aschenaz.eu - music-blog
Avatar utente
aschenaz
Staff
Staff
 
Messaggi: 4438
Iscritto il: mar lug 27, 2004 23:00
Località: Reggio Calabria
Nome Cognome: Nino
Slackware: current 64bit
Kernel: 3.14.24
Desktop: KDE 4.10.5

Re: PHP: strano comportamento di getimagesize

Messaggioda conraid » dom set 06, 2009 11:03

spina ha scritto:
conraid ha scritto:...così come non mi piacciono quei echo " con poi l'escape, meglio ' '.$var.'', etc... ma qui si va gusti..
Si può anche usare echo " però usare il ' per fare l'escape in html, così verrebbe:
Codice: Seleziona tutto
echo "
 ...
<param name='movie' value='$banf' />
..."
Dovrebbe andare uguale (anche se sarebbe meglio un ${banf}), ma queste sono piccolezze che non c'entrano molto con il problema


no, è un html errato
Avatar utente
conraid
Staff
Staff
 
Messaggi: 12023
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: PHP: strano comportamento di getimagesize

Messaggioda targzeta » dom set 06, 2009 11:04

conraid ha scritto:...no, è un html errato
Sicuro? A me la validazione w3c non ha mai dato problemi.

Emanuele
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà
Avatar utente
targzeta
Iper Master
Iper Master
 
Messaggi: 6200
Iscritto il: gio nov 03, 2005 14:05
Località: Carpignano Sal. (LE) <-> Pisa
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM

Re: PHP: strano comportamento di getimagesize

Messaggioda conraid » dom set 06, 2009 11:05

ma se provi una cosa simile

Codice: Seleziona tutto
<?php
$filename = './foto01.jpg';
list($width, $height, $type, $attr) = getimagesize($filename);
echo $filename.'-'.$type.'-'.$attr.'-'.$width.'-'.$height."\n";

$filename = './foto02.jpg';
list($width, $height, $type, $attr) = getimagesize($filename);
echo $filename.'-'.$type.'-'.$attr.'-'.$width.'-'.$height."\n";

$filename = './foto03.jpg';
list($width, $height, $type, $attr) = getimagesize($filename);
echo $filename.'-'.$type.'-'.$attr.'-'.$width.'-'.$height."\n";


?>


naturalmente come $filename metti le immagini che hai tu, ti da sempre errore?
tanto per capire se è nella funziona in se il problema o altrove
Avatar utente
conraid
Staff
Staff
 
Messaggi: 12023
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: PHP: strano comportamento di getimagesize

Messaggioda conraid » dom set 06, 2009 11:11

spina ha scritto:
conraid ha scritto:...no, è un html errato
Sicuro?




se la validazione non ti ha dato errori, hai usato una versione html del millennio scorso :-)
sinceramente il DTD di html4 non lo ricordo, ma mi sembra che già da allora fosse errato
Avatar utente
conraid
Staff
Staff
 
Messaggi: 12023
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: PHP: strano comportamento di getimagesize

Messaggioda conraid » dom set 06, 2009 11:15

conraid ha scritto:
spina ha scritto:
conraid ha scritto:...no, è un html errato
Sicuro?




se la validazione non ti ha dato errori, hai usato una versione html del millennio scorso :-)
sinceramente il DTD di html4 non lo ricordo, ma mi sembra che già da allora fosse errato



html 4 sembra prendere anche ', da xhtml 1.0 no
Avatar utente
conraid
Staff
Staff
 
Messaggi: 12023
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: PHP: strano comportamento di getimagesize

Messaggioda targzeta » dom set 06, 2009 11:18

Questo codice
Codice: Seleziona tutto
<td><input type='radio' name='ASCHE2_DEFAULT_REPOSITORY' value='gnome-slacky-12.0' /></td>
è un valido xhtml, almeno secondo w3c.

Emanuele
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà
Avatar utente
targzeta
Iper Master
Iper Master
 
Messaggi: 6200
Iscritto il: gio nov 03, 2005 14:05
Località: Carpignano Sal. (LE) <-> Pisa
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM

Re: PHP: strano comportamento di getimagesize

Messaggioda aschenaz » dom set 06, 2009 11:27

Ok, risolto. Stranamente si erano modificati tutti i permessi dei singoli file.
Io modificavo quelli della directory e non m'ero accorto che non era una
modifica ricorsiva (bisognava spuntare il relativo checkbox - ha ragione chi
dice che non vanno usati i tool grafici per queste cose! :) ).

Grazie e scusate per l'inutile post.
pensieriemotivi.aschenaz.eu - music-blog
Avatar utente
aschenaz
Staff
Staff
 
Messaggi: 4438
Iscritto il: mar lug 27, 2004 23:00
Località: Reggio Calabria
Nome Cognome: Nino
Slackware: current 64bit
Kernel: 3.14.24
Desktop: KDE 4.10.5

Re: PHP: strano comportamento di getimagesize

Messaggioda conraid » dom set 06, 2009 11:30

spina ha scritto:Questo codice
Codice: Seleziona tutto
<td><input type='radio' name='ASCHE2_DEFAULT_REPOSITORY' value='gnome-slacky-12.0' /></td>
è un valido xhtml, almeno secondo w3c.

Emanuele


il problema emanuele è che xhtml dovrebbe essere xml, e passato con xml, ed anche il w3c dice che è sbagliato passarlo come html
e se passi quel codice come application/xhtml+xml non ricevi errori di nessun tipo? e non parlo del validatore, ma del browser per esempio
Avatar utente
conraid
Staff
Staff
 
Messaggi: 12023
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: PHP: strano comportamento di getimagesize [risolto]

Messaggioda targzeta » dom set 06, 2009 11:39

Codice: Seleziona tutto
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="it" xml:lang="it">
...
    <meta http-equiv="Content-Type" content="application/xhtml+xml" />

niente errori, nè da parte del browser nè da parte del validatore. Però in rete ho trovato documenti che sembrerebbero dire che ai ragione tu. Però che palle, se hai ragione perchè il validatore non dice nulla?

Codice: Seleziona tutto
This document was successfully checked as XHTML 1.0 Strict!

Emanuele
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà
Avatar utente
targzeta
Iper Master
Iper Master
 
Messaggi: 6200
Iscritto il: gio nov 03, 2005 14:05
Località: Carpignano Sal. (LE) <-> Pisa
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM

Prossimo

Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite