Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    33

    URL corretto ma immagine mancante...

    Ciao,
    ho uno strano problema con un collegamento ad una immagine.
    La struttura è questa:
    root
    cartella 'img'
    cartella 'funzioni'

    nella cartella 'img' ho l'immagine '1.png', '2.png', '3.png';
    nella cartella 'funzioni' ho questo script che recupaera dinamicamente l'immagine:
    Codice PHP:
    define('WEBROOT'$_SERVER['HTTP_HOST'].'/sito');

    function 
    iconaAccettazione($accettazione){
        
    $iconaAccettazione '';
        switch(
    $accettazione){
            case 
    'a':
                
    $iconaAccettazione '<img src="' WEBROOT '/img/1.png" alt="Scuse accettate!" title="Scuse accettate!" width="48" height="48" />';
                break;
            case 
    'b':
                
    $iconaAccettazione '<img src="' WEBROOT '/img/2.png" alt="Scuse rifiutate!" title="Scuse rifiutate!" width="48" height="48" />';
                break;
            case 
    'c':
                
    $iconaAccettazione '<img src="' WEBROOT '/img/3.png" alt="In attesa di risposta..." title="In attesa di risposta..." width="48" height="48" />';
                break;
        }
        return 
    $iconaAccettazione;

    nella root ho questo semplice codice PHP:
    Codice PHP:
    <?php echo iconaAccettazione($estrai['accettatoT']); ?>
    ok, so che qui si discute di HTML e non di PHP ma il problema sta in HTML.
    Visualizzando il codice sorgente infatti PHP mi restituisce correttamente l'URL interessato dalla funzione
    codice HTML:
    <img src="localhost/sito/img/a.png" alt="" title="" width="48" height="48" />
    che però non mi mostra l'immagine in questione.
    Preciso che non viene mostrata neanche inserendo URL del filesystem (es: C://xampp/htdocs/sito/img/a.png )
    Se però copio e incollo l'URL direttamente nel browser 'localhost/sito/img/a.png', l'immagine viene mostrata perchè, ovviamente, le immagini ci sono.

    Qualcuno sa spiegarmi il perchè?
    Grazie.
    Ultima modifica di Oslino; 28-05-2014 a 17:57

  2. #2
    Ciao,

    nel codice HTML generato manca il protocollo http nell'attributo src dell'immagine.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    33
    Quote Originariamente inviata da MAeSI Visualizza il messaggio
    Ciao,

    nel codice HTML generato manca il protocollo http nell'attributo src dell'immagine.
    Verissimo! Risolto.

    p.s.
    Allora perchè invece questa riga con URL relativo funziona anche senza 'http://'?
    codice HTML:
    <img src="img/a.png" alt="" title="" width="48" height="48" />

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2014
    residenza
    Voltati
    Messaggi
    913
    Perché img è una cartella, per questo, essendo la pagina all'indirizzo http://localhost/sito, lo interpreta come http://localhost/sito/img/a.png
    Nel modo in cui non ti funzionava era perché andava a cercare l'immagine in http://localhost/sito/localhost/sito/img/a.png
    No

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    33
    Ottima spiegazione.
    Ho risolto il problema modificando alla radice la costante

    Codice PHP:
    define('WEBROOT''http://' $_SERVER['HTTP_HOST'].'/sito'); 
    Grazie ancora.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.