Pagina 1 di 2 12 UltimoUltimo
Visualizzazione risultati 1 fino 30 di 42

Discussione: [PHP] Condizione if per immagini

  1. #1
    Data registrazione
    11-07-2009
    Residenza
    Roma
    Messaggi
    163

    Predefinito [PHP] Condizione if per immagini

    Buona sera a tutti, avrei se possibile bisogno di aiuto per rendere più funzionale un piccolo tool che ho fatto, premetto che sono alle prime armi con il php, in pratica ho realizzato un box dove gli utenti oltre a postare un banner, hanno la possibilità di scrivere un piccolo messaggio per pubblicizzare iniziative, il problema più che altro estetico, si crea quando non viene inserito url di un banner e quindi si visualizza la classica x rossa, quindi avevo pensato di poter inserire una condizione, e cioè nel caso non venisse inserito un url banner di farne visualizzare uno di default.... facile a dire ma x me davvero complicato da realizzare, ho seguito varie guide, riesco a visualizzare la table ma non funziona il codice che ho scritto:
    Codice PHP:
    <?php
    include "config.php";
    $db = mysql_connect($db_host,$db_user,$db_pass);
    mysql_select_db ($db_name) or die ("Cannot connect to database");

    // selezione del DB
    mysql_select_db("Sql288738_1") or die("Selezione del DB fallita !");
    $page = (!isset($_GET['page']))? 1 : $_GET['page'];
    $prev = ($page - 1);
    $next = ($page + 1);

    /*Setto il numero massimo di record per pagina */
    $max_results = 20;

    /* Mi calcolo l'offset */
    $from = (($page * $max_results) - $max_results);

    /*eseguo la query per recuperare il numero di dati presente nel mio db*/

    $result = mysql_query("select * FROM box ORDER BY id Desc");

    $total_results = mysql_num_rows($result);

    $total_pages = ceil($total_results / $max_results);

    /* Creo il link "PREV" */
    if($page > 1)
    {
    $pagination .="<a href=view.php?page=".$prev.">Prec&nbsp; </a>";
    }

    /*Eseguo il ciclo per visualizzare tutte le pagine che mi servono. */
    for($i =1; $i <= $total_pages; $i++)
    {
    if((
    $page) == $i)
    {
    $pagination .= $i;
    }
    else
    {
    $pagination .= "<a href=view.php?page=".$i.">| $i&nbsp;</a>|";
    }
    }
    /*END FOR*/

    /* Stampo il prossimo link */
    if($page < $total_pages)
    {
    $pagination .= "<a href=view.php?page=".$next."> &nbsp;Next</a>";
    }

    /*eseguo la query con i parametri $from e $total_results per la paginazione*/

    $result=mysql_query("select * FROM box ORDER BY id Desc LIMIT $from, $max_results ");

    while (
    $i = mysql_fetch_array($result))
    /* Ora visualizziamo le news */
    echo "<table border='1' width='400'>";
    echo
    "<tr>";
    echo
    "<td>";
    echo
    "<table border='0' cellpadding='3' cellspacing='3' width='100%'>";
    echo
    "<tr>";
    if (
    $i[img] == "$i[img]")
    {
    echo (
    "<td style='font-family:Palatino Linotype; font-size: 8pt; color: #fff7e7'><a href='$i[url]'target=void><img src='$i[img]' border='0' height='31' width='88'></a><br>$i[messaggio]");
    }
    if (
    $i[img] != "$i[img]")
    {
    echo (
    "<td style='font-family:Palatino Linotype; font-size: 8pt; color: #fff7e7'><img src='images/88x31branco58.gif' border='0' height='31' width='88'><br>$i[messaggio]");
    }
    echo
    "</td>";
    echo
    "</tr>";
    echo
    "<tr>";
    echo
    "<td style='font-family:Palatino Linotype; font-size: 8pt; color: #fff7e7'><img src='images/1101944.gif'> <b>Annuncio postato da <u>$i[nome]</u> il $i[data]</b></td>";
    echo
    "</tr>";
    echo
    "</table>";
    echo
    "<table border='0' width='100%'>";
    echo
    "<tr>";
    echo
    "<td height='3'></td>";
    echo
    "</tr>";
    echo
    "</table>";
    echo
    "</td>";
    echo
    "</tr>";
    echo
    "</table>";
    echo
    "<table style='font-family:Palatino Linotype; font-size: 8pt; color: #fff7e7' border='0' cellpadding='0' cellspacing='0' width='400'>
    <tr>
    <td width=354>&nbsp; Tutti i nostri annunci <img src='images/canuccio1.gif'> pagine...
    $pagination</td>
    <td>&nbsp;</td>
    </tr>
    </table>
    </td>
    </tr>
    </table>"
    ;
    ?>
    Vi linco la pagina di prova così potete vedere cosa si visualizza:
    http://www.iltelaiodipenelope.it/pub...box/prova3.php
    Spero mi possiate aiutare vi ringrazio per la pazienza
    Ultima modifica di musicanapoli : 07-04-2010 alle ore 20.25.32 Motivo: Per il codice PHP si utilizza il tag [php] e non [code].

  2. #2
    Guest

    Predefinito

    Scusa: non ho capito a che serve un if come
    Codice PHP:
    if ($i[img] == "$i[img]")
    {
    echo (
    "<td style='font-family:Palatino Linotype; font-size: 8pt; color: #fff7e7'><a href='$i[url]'target=void><img src='$i[img]' border='0' height='31' width='88'></a><br>$i[messaggio]");
    }
    Che restituirà sempre e comunque vero; se vuoi che venga controllato se $i[img] è una stringa, devi usare la funzione is_string.

    per quanto riguarda il tuo problema è controllare se il file corrispondente all'immagine esiste davvero, e, per questo, può essere caricato.
    Puoi farlo con la funzione file_exist.
    Ecco il codice corretto:

    Codice PHP:
    <?php
    include "config.php";
    $db = mysql_connect($db_host,$db_user,$db_pass);
    mysql_select_db ($db_name) or die ("Cannot connect to database");

    // selezione del DB
    mysql_select_db("Sql288738_1") or die("Selezione del DB fallita !");
    $page = (!isset($_GET['page']))? 1 : $_GET['page'];
    $prev = ($page - 1);
    $next = ($page + 1);

    /*Setto il numero massimo di record per pagina */
    $max_results = 20;

    /* Mi calcolo l'offset */
    $from = (($page * $max_results) - $max_results);

    /*eseguo la query per recuperare il numero di dati presente nel mio db*/

    $result = mysql_query("select * FROM box ORDER BY id Desc");

    $total_results = mysql_num_rows($result);

    $total_pages = ceil($total_results / $max_results);

    /* Creo il link "PREV" */
    if($page > 1)
    {
    $pagination .="<a href=view.php?page=".$prev.">Prec&nbsp; </a>";
    }

    /*Eseguo il ciclo per visualizzare tutte le pagine che mi servono. */
    for($i =1; $i <= $total_pages; $i++)
    {
    if((
    $page) == $i)
    {
    $pagination .= $i;
    }
    else
    {
    $pagination .= "<a href=view.php?page=".$i.">| $i&nbsp;</a>|";
    }
    }
    /*END FOR*/

    /* Stampo il prossimo link */
    if($page < $total_pages)
    {
    $pagination .= "<a href=view.php?page=".$next."> &nbsp;Next</a>";
    }

    /*eseguo la query con i parametri $from e $total_results per la paginazione*/

    $result=mysql_query("select * FROM box ORDER BY id Desc LIMIT $from, $max_results ");

    while (
    $i = mysql_fetch_array($result))
    /* Ora visualizziamo le news */
    echo "<table border='1' width='400'>";
    echo
    "<tr>";
    echo
    "<td>";
    echo
    "<table border='0' cellpadding='3' cellspacing='3' width='100%'>";
    echo
    "<tr>";
    if (
    is_string($i[img])&&file_exist($i[img]))
    {
    echo (
    "<td style='font-family:Palatino Linotype; font-size: 8pt; color: #fff7e7'><a href='$i[url]'target=void><img src='$i[img]' border='0' height='31' width='88'></a><br><span>$i[messaggio]</span>");
    }
    else
    {
    echo (
    "<td style='font-family:Palatino Linotype; font-size: 8pt; color: #fff7e7'><img src='images/88x31branco58.gif' border='0' height='31' width='88'><br>$i[messaggio]");
    }
    echo
    "</td>";
    echo
    "</tr>";
    echo
    "<tr>";
    echo
    "<td style='font-family:Palatino Linotype; font-size: 8pt; color: #fff7e7'><img src='images/1101944.gif'> <b>Annuncio postato da <u>$i[nome]</u> il $i[data]</b></td>";
    echo
    "</tr>";
    echo
    "</table>";
    echo
    "<table border='0' width='100%'>";
    echo
    "<tr>";
    echo
    "<td height='3'></td>";
    echo
    "</tr>";
    echo
    "</table>";
    echo
    "</td>";
    echo
    "</tr>";
    echo
    "</table>";
    echo
    "<table style='font-family:Palatino Linotype; font-size: 8pt; color: #fff7e7' border='0' cellpadding='0' cellspacing='0' width='400'>
    <tr>
    <td width=354>&nbsp; Tutti i nostri annunci <img src='images/canuccio1.gif'> pagine...
    $pagination</td>
    <td>&nbsp;</td>
    </tr>
    </table>
    </td>
    </tr>
    </table>"
    ;
    ?>
    Spero di esserti stato utile!

  3. #3
    Data registrazione
    11-07-2009
    Residenza
    Roma
    Messaggi
    163

    Predefinito

    Grazie Safefile sei stato gentilissimo a rispondere e io non conoscevo proprio la funzione is_string, ora però con il codice che mi hai corretto si vede solo il banner di default...
    considera che la pag originale è questa:
    http://www.iltelaiodipenelope.it/pub...ox/linkbox.php

    ora provo a cercare la funzione che mi hai mostrato ma se riesci a capire xchè non si visualizza tutto mi saresti di grande aiuto considerando la mia scarza preparazione per funzioni così particolari^^

    Grazie di nuovo ...buona pasquetta a tutti

    EDIT
    Scusate se insisto ma da sola non riesco proprio a capirci un'accidente, su consiglio di Safefile ho seguito delle guide sulle stringhe e gli if credevo di aver capito come fare ma nulla si vede solo il box con l'iimagine di default ecco cosa ho scritto:
    Codice PHP:
    echo "<table border='1' width='400'>";
    echo
    "<tr>";
    echo
    "<td>";
    echo
    "<table border='0' cellpadding='3' cellspacing='3' width='100%'>";
    echo
    "<tr>";
    $filename = '$i[img]';
    if (
    file_exists($filename)) {
    echo
    "<td style='font-family:Palatino Linotype; font-size: 8pt; color: #fff7e7'><a href='$i[url]'target=void><img src='$i[img]' border='0' height='31' width='88'></a><br>$i[messaggio]</td>";
    } else {
    echo
    "<td style='font-family:Palatino Linotype; font-size: 8pt; color: #fff7e7'><a href='$i[url]'target=void><img src='images/88x31branco58.gif' border='0' height='31' width='88'></a><br>$i[messaggio]</td>";
    }
    echo
    "</tr>";
    echo
    "<tr>";
    echo
    "<td style='font-family:Palatino Linotype; font-size: 8pt; color: #fff7e7'><img src='images/1101944.gif'> <b>Annuncio postato da <u>$i[nome]</u> il $i[data]</b></td>";
    echo
    "</tr>";
    echo
    "</table>";
    echo
    "<table border='0' width='100%'>";
    echo
    "<tr>";
    echo
    "<td height='3'></td>";
    echo
    "</tr>";
    echo
    "</table>";
    echo
    "</td>";
    echo
    "</tr>";
    echo
    "</table>";
    echo
    "<table style='font-family:Palatino Linotype; font-size: 8pt; color: #fff7e7' border='0' cellpadding='0' cellspacing='0' width='400'>
    <tr>
    <td width=354>&nbsp; Tutti i nostri annunci <img src='images/canuccio1.gif'> pagine...
    $pagination</td>
    <td>&nbsp;</td>
    </tr>
    </table>
    </td>
    </tr>
    </table>"
    ;
    ?>
    Ecco qui http://www.iltelaiodipenelope.it/pub...box/prova2.php

    Help me per favore grazie ^_^
    Ultima modifica di musicanapoli : 07-04-2010 alle ore 20.27.18

  4. #4
    Data registrazione
    11-07-2009
    Residenza
    Roma
    Messaggi
    163

    Predefinito

    Scusate ma io l'unico tasto edita che trovo è Edit tags che apre una piccola finestrella, ma non credo proprio serva a riprendere un post...
    Non ne vengo a capo, ho fatto un sacco di prove ma l'unica cosa che sono riuscita ad ottenere è che ora visualizzo entrmbe le opzioni
    Codice:
    echo "<table border='1' width='400'> 
        <tr> 
            <td> 
            <table border='0' cellpadding='3' cellspacing='3' width='100%'> 
                <tr> 
    if(is_string($i[img])&&file_exist($i[img] { 
    echo <td style='font-family:Palatino Linotype; font-size: 8pt; color: #fff7e7'><a href='$i[url]'target=void><img src='$i[img]' border='0' height='31' width='88'></a><br>$i[messaggio]</td> 
    } else {
    echo <td style='font-family:Palatino Linotype; font-size: 8pt; color: #fff7e7'><a href='$i[url]'target=void><img src='images/88x31branco58.gif' border='0' height='31' width='88'></a><br>$i[messaggio]</td> 
    } 
             </tr> 
                <tr> 
                    <td style='font-family:Palatino Linotype; font-size: 8pt; color: #fff7e7'><img src='images/1101944.gif'> <b>Annuncio postato da <u>$i[nome]</u> il $i[data]</b></td> 
                </tr> 
            </table> 
            <table border='0' width='100%'> 
        <tr> 
            <td height='3'></td> 
        </tr>
        </table> 
            </td> 
        </tr> 
        </table>";
    http://www.iltelaiodipenelope.it/pub...box/prova2.php

    Vi sarei molto grata se mi aiutaste per favore grazie

  5. #5
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    ma qui hai commesso errori di sintassi...devi chiudere le parentesi rotonde:

    Codice PHP:
    if(is_string($i[img])&&file_exist($i[img] {
    dovrebbe essere:
    Codice PHP:
    if ( is_string($i[img]) && file_exist($i[img]) ) {



    POi ci sono altri errori...guarda se li trovi....!
    Ultima modifica di EuroSalute : 09-04-2010 alle ore 01.10.12 Motivo: più info
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  6. #6
    Data registrazione
    11-07-2009
    Residenza
    Roma
    Messaggi
    163

    Predefinito

    Grazie Euro^^ cavoli non capisco proprio, mi son rimessa a gurdar guide, io non ho studiato informatica vado avanti da sola un passo alla volta, ma non riesco proprio a trovare gli altri errori che ovviamente per te sono palesi sighhhh ^_^'
    ho pensato che potevano mancare le virgolette agli img ma ancora vana speranza.....
    Codice:
    if ( is_string('$i[img]') && file_exist('$i[img]') ) {
    ti spiace indicarmi dove ci sono errori grazie ^_^

  7. #7
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    Mancano le virgolette e i ;

    il codice è php, quindi hai scritto:
    Codice PHP:
    echo "<table border='1' width='400'>
    <tr>
    <td>
    <table border='0' cellpadding='3' cellspacing='3' width='100%'>
    <tr>
    deve essere:
    Codice PHP:
    echo "<table border='1' width='400'>
    <tr>
    <td>
    <table border='0' cellpadding='3' cellspacing='3' width='100%'>
    <tr>"
    ;
    e poi ancora:
    Codice PHP:
    if(is_string($i[img])&&file_exist($i[img] {
    echo <
    td style='font-family:Palatino Linotype; font-size: 8pt; color: #fff7e7'><a href='$i[url]'target=void><img src='$i[img]' border='0' height='31' width='88'></a><br>$i[messaggio]</td>
    } else {
    echo <
    td style='font-family:Palatino Linotype; font-size: 8pt; color: #fff7e7'><a href='$i[url]'target=void><img src='images/88x31branco58.gif' border='0' height='31' width='88'></a><br>$i[messaggio]</td>
    }
    deve essere:
    Codice PHP:
    if ( is_string($i[img]) && file_exist($i[img]) ) {
    echo
    "<td style='font-family:Palatino Linotype; font-size: 8pt; color: #fff7e7'><a href='$i[url]' target=void><img src='$i[img]' border='0' height='31' width='88'></a><br>$i[messaggio]</td>";
    }
    else {
    echo
    "<td style='font-family:Palatino Linotype; font-size: 8pt; color: #fff7e7'><a href='$i[url]' target=void><img src='images/88x31branco58.gif' border='0' height='31' width='88'></a><br>$i[messaggio]</td>";
    }
    POi non capisco il target=void, cosa vuoi fare annullare il target? allora scrivi target=''

    e così via ..guarda l'apertura e la chiusura delle virgolette " e i ; finali

    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  8. #8
    Data registrazione
    11-07-2009
    Residenza
    Roma
    Messaggi
    163

    Predefinito

    Ciao Euro ^_^' me tonta avevo fatto una prova aprendo e chiudendo ogni tag ma avevo messo ogni volta anche echo non andava e ovviamente li ho tolti, il target=void dove essere un target=_blank affinché gli spazi inseriti si aprano in una nuova finestra ora ho corretto^^

    Ora ho sistemato le " iniziali e le chiusure "; ma mi da errore:

    Fatal error: Call to undefined function file_exist() in D:\Inetpub\webs\iltelaiodipenelopeit\public\box\bo x\prova2.php on line 72

    <b>La riga 72 è la riga dove inizia il codice if</b>
    Ecco come ho corretto tutta la tabella sicuro ho fatto altri casini:
    Codice:
    echo "<table border='1' width='400'>"; 
        "<tr>"; 
            "<td>"; 
            "<table border='0' cellpadding='3' cellspacing='3' width='100%'>"; 
                "<tr>"; 
    if ( is_string('$i[img]') && file_exist('$i[img]') ) { 
    echo "<td style='font-family:Palatino Linotype; font-size: 8pt; color: #fff7e7'><a href='$i[url]'target=_blank><img src='$i[img]' border='0' height='31' width='88'></a><br>$i[messaggio]</td>"; 
    } else {
    echo "<td style='font-family:Palatino Linotype; font-size: 8pt; color: #fff7e7'><a href='$i[url]'target=_blank><img src='images/88x31branco58.gif' border='0' height='31' width='88'></a><br>$i[messaggio]</td>"; 
    } 
             "</tr>"; 
                "<tr>"; 
                    "<td style='font-family:Palatino Linotype; font-size: 8pt; color: #fff7e7'><img src='images/1101944.gif'> <b>Annuncio postato da <u>$i[nome]</u> il $i[data]</b></td>"; 
                "</tr>"; 
            "</table>"; 
            "<table border='0' width='100%'>"; 
        "<tr>"; 
            "<td height='3'></td>"; 
        "</tr>";
        "</table>"; 
            "</td>"; 
        "</tr>"; 
        "</table>";
    ed ecco la pag prova:
    http://www.iltelaiodipenelope.it/pub...box/prova2.php

    se ti dico da quanto combatto con questo box dai le capocciate al muro.... o forse dovrei darle io!!! Grazie sei gentilissimo a darmi una mano spero solo di non essere una causa persa^^

  9. #9
    Guest

    Predefinito

    comincia correggendo all'inizio di ogni riga inserendo echo se non potrai stampare a video i dati , sostituisci questo:

    Codice PHP:

    echo "<table border='1' width='400'>";
    "<tr>";
    "<td>";
    "<table border='0' cellpadding='3' cellspacing='3' width='100%'>";
    "<tr>";
    con

    Codice PHP:

    echo "<table border='1' width='400'>";
    echo
    "<tr>";
    echo
    "<td>";
    echo
    "<table border='0' cellpadding='3' cellspacing='3' width='100%'>";
    echo
    "<tr>";
    oppure ancora meglio con questo

    Codice PHP:

    echo "<table border='1' width='400'>";
    <
    tr>
    <
    td>
    <
    table border='0' cellpadding='3' cellspacing='3' width='100%'>
    <
    tr>";

  10. #10
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    vai qui su php.net:
    http://php.net/manual/en/function.file-exists.php

    la funzione è file_exists() e non file_exist() , c'è una s di meno....

    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  11. #11
    Data registrazione
    11-07-2009
    Residenza
    Roma
    Messaggi
    163

    Predefinito

    Grazie ragazzi^^

    Euro ho iniziato propro da quella pagina e mi sembava d'aver capito che prima del comando if devo dare una sorta d'indicazione e avevo optato per questo:
    Codice:
    <?php
    $filename = '/path/to/foo.txt';
    
    if (file_exists($filename)) {
        echo "The file $filename exists";
    } else {
        echo "The file $filename does not exist";
    }
    ?>
    immagino che per far fuzionare sto benedetto codice devo dare una funzione all' if ho fatto un mare di prove ma proprio non ci arrivo scusate

    Ecco una prova che ho fatto ma al solito senza risultato

    Codice:
    echo "<table border='1' width='400'>"; 
         echo "<tr>"; 
            echo "<td>"; 
            echo "<table border='0' cellpadding='3' cellspacing='3' width='100%'>"; 
                echo "<tr>";
    $img=file_exists("$i[img]");           
    if ( is_string('$i[img]') && file_exists('$i[img]') ) { 
    echo "<td style='font-family:Palatino Linotype; font-size: 8pt; color: #fff7e7'><a href='$i[url]'target=_blank><img src='$i[img]' border='0' height='31' width='88'></a><br>$i[messaggio]</td>"; 
    } else {
    echo "<td style='font-family:Palatino Linotype; font-size: 8pt; color: #fff7e7'><a href='$i[url]'target=_blank><img src='images/88x31branco58.gif' border='0' height='31' width='88'></a><br>$i[messaggio]</td>"; 
    } 
             "</tr>"; 
                "<tr>"; 
                    "<td style='font-family:Palatino Linotype; font-size: 8pt; color: #fff7e7'><img src='images/1101944.gif'> <b>Annuncio postato da <u>$i[nome]</u> il $i[data]</b></td>"; 
                "</tr>"; 
            "</table>"; 
            "<table border='0' width='100%'>"; 
        "<tr>"; 
            "<td height='3'></td>"; 
        "</tr>";
        "</table>"; 
            "</td>"; 
        "</tr>"; 
        "</table>";
    che delusioneeeeeeeeeeee ufffff ^_^'
    Ultima modifica di penelopesito : 09-04-2010 alle ore 23.18.12 Motivo: correzione

  12. #12
    Guest

    Predefinito

    dinuovo lo stesso errore hai fatto

    quando devi stampare a video tr, table, td o qualsiasi altra cosa vuoi che spunti nel sito , non basta aggiungere tra virgolette il testo "<tr>"; ma devi scrivere dinanzi a ogni doppia virgoletta un echo, come ti ho scritto qua sotto.

    Codice PHP:

    echo "<tr>";
    e cosi via dicendo per tutti i <tag> e il testo che vuoi fare spuntare sulla paginetta.

    ciao

  13. #13
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    Citazione Originalmente inviato da penelopesito Visualizza messaggio
    Grazie ragazzi^^

    Euro ho iniziato propro da quella pagina e mi sembava d'aver capito che prima del comando if devo dare una sorta d'indicazione e avevo optato per questo:
    Codice:
    <?php
    $filename = '/path/to/foo.txt';
    
    if (file_exists($filename)) {
        echo "The file $filename exists";
    } else {
        echo "The file $filename does not exist";
    }
    ?>
    immagino che per far fuzionare sto benedetto codice devo dare una funzione all' if ho fatto un mare di prove ma proprio non ci arrivo scusate

    Ecco una prova che ho fatto ma al solito senza risultato

    Codice:
    echo "<table border='1' width='400'>"; 
         echo "<tr>"; 
            echo "<td>"; 
            echo "<table border='0' cellpadding='3' cellspacing='3' width='100%'>"; 
                echo "<tr>";
    $img=file_exists("$i[img]");           
    if ( is_string('$i[img]') && file_exists('$i[img]') ) { 
    echo "<td style='font-family:Palatino Linotype; font-size: 8pt; color: #fff7e7'><a href='$i[url]'target=_blank><img src='$i[img]' border='0' height='31' width='88'></a><br>$i[messaggio]</td>"; 
    } else {
    echo "<td style='font-family:Palatino Linotype; font-size: 8pt; color: #fff7e7'><a href='$i[url]'target=_blank><img src='images/88x31branco58.gif' border='0' height='31' width='88'></a><br>$i[messaggio]</td>"; 
    } 
             "</tr>"; 
                "<tr>"; 
                    "<td style='font-family:Palatino Linotype; font-size: 8pt; color: #fff7e7'><img src='images/1101944.gif'> <b>Annuncio postato da <u>$i[nome]</u> il $i[data]</b></td>"; 
                "</tr>"; 
            "</table>"; 
            "<table border='0' width='100%'>"; 
        "<tr>"; 
            "<td height='3'></td>"; 
        "</tr>";
        "</table>"; 
            "</td>"; 
        "</tr>"; 
        "</table>";
    che delusioneeeeeeeeeeee ufffff ^_^'
    Se vai su questa pagina, qui ho fatto un semplice esempio delle funzioni is_string e file_exists:
    http://eurosalute.altervista.org/tool/images.php

    Il codice php che ho utilizzato è questo:
    Codice PHP:
    <?php
    if (is_string("utenti.gif") && file_exists("utenti.gif")) {
    if (
    is_string("guestbook.gif") && file_exists("guestbook.gif")) {
    echo
    "<img src='utenti.gif'> is string and file exists\n<br>";
    echo
    "<img src='guestbook.gif'> is string and file exists\n<br><br>";
    }
    }
    else {
    echo
    "file is not a string and does not exist\n<br>";
    }

    var_dump(is_string('abc'));
    var_dump(is_string("23"));
    var_dump(is_string(23.5));
    var_dump(is_string(true));
    ?>
    Posso dirti solo di verificare che i tuoi file che vuoi visualizzare siano effettivamente presenti sull'host.



    Prova ad eseguire questo, è solo per verifica:

    Codice PHP:
    if ( !is_string($i[img]) ) echo "Error file is not a string";
    else if (!
    file_exists($i[img]) ) {
    echo
    "Error file does not exist";
    echo
    "<td style='font-family:Palatino Linotype; font-size: 8pt; color: #fff7e7'><a href='$i[url]'target=_blank><img src='images/88x31branco58.gif' border='0' height='31' width='88'></a><br>$i[messaggio]</td>";
    }
    else {
    echo
    "<td style='font-family:Palatino Linotype; font-size: 8pt; color: #fff7e7'><a href='$i[url]'target=_blank><img src='$i[img]' border='0' height='31' width='88'></a><br>$i[messaggio]</td>";
    }
    Ultima modifica di EuroSalute : 10-04-2010 alle ore 16.23.28 Motivo: PIù info
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  14. #14
    Data registrazione
    11-07-2009
    Residenza
    Roma
    Messaggi
    163

    Predefinito

    Ciao Euro forse non mi son spiegata bene su quello che dovrei ottenere, io ho realizzato un form dove è possibile inserire un banner e un piccolo commento, e funziona benissimo^^ la cosa brutta è se non viene inserito il banner(ovvero url immgine) perchè ovviamente appare solo la x rossa, io volevo che al suo posto venisse visualizzato un banner di default ma a questo punto non so più che cavolo fare ^_^'

  15. #15
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    Citazione Originalmente inviato da penelopesito Visualizza messaggio
    Ciao Euro forse non mi son spiegata bene su quello che dovrei ottenere, io ho realizzato un form dove è possibile inserire un banner e un piccolo commento, e funziona benissimo^^ la cosa brutta è se non viene inserito il banner(ovvero url immgine) perchè ovviamente appare solo la x rossa, io volevo che al suo posto venisse visualizzato un banner di default ma a questo punto non so più che cavolo fare ^_^'
    Ho capito...

    il codice di cui sopra è solo un esempio per verifica del codice....

    prova a togliere le apostrofo da :
    Codice PHP:
    if ( is_string('$i[img]') && file_exists('$i[img]') )

    diventa:

    if (
    is_string($i[img]) && file_exists($i[img]) )
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  16. #16
    Data registrazione
    11-07-2009
    Residenza
    Roma
    Messaggi
    163

    Predefinito

    No Euro non va avevo gia provato e x scrupolo ora ho rifatto prova visto che scrivevo file_exists senza s finale^^ mi incomincia a venire il dubbio che la condizione vada messa o nel form o nell'insert.... bohhhh!!! Capperina sembrava così semplice e invece è un pasticcio^^
    Ti ringrazio tantissimo per la paziensa ^__________^

  17. #17
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    Citazione Originalmente inviato da penelopesito Visualizza messaggio
    No Euro non va avevo gia provato e x scrupolo ora ho rifatto prova visto che scrivevo file_exists senza s finale^^ mi incomincia a venire il dubbio che la condizione vada messa o nel form o nell'insert.... bohhhh!!! Capperina sembrava così semplice e invece è un pasticcio^^
    Ti ringrazio tantissimo per la paziensa ^__________^
    Dimmi cosa è che non va?

    is_string secondo me non è necessario, basta che controlli se il file immagine esiste, se esiste lo stampa, se no, stampa un'immagine di default.

    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  18. #18
    Data registrazione
    11-07-2009
    Residenza
    Roma
    Messaggi
    163

    Predefinito

    Infatti Euro in questa pag http://php.net/manual/en/function.file-exists.php
    avevo trovato questo codice che mi sembrava proprioquello di cui avevo bisogno
    Codice:
    <?php
    $filename = '/path/to/foo.txt';
    
    if (file_exists($filename)) {
        echo "The file $filename exists";
    } else {
        echo "The file $filename does not exist";
    }
    ?>
    quindi l'ho sistemato per il mio codice:

    Codice:
    echo "<table border='1' width='400'>"; 
         echo "<tr>"; 
            echo "<td>"; 
            echo "<table border='0' cellpadding='3' cellspacing='3' width='100%'>"; 
                echo "<tr>";
    $filename = '$i[img]';            
    if ( file_exists($filename) ) { 
    echo "<td style='font-family:Palatino Linotype; font-size: 8pt; color: #fff7e7'><a href='$i[url]'target=_blank><img src='$i[img]' border='0' height='31' width='88'></a><br>$i[messaggio]</td>"; 
    } else { 
    echo "<td style='font-family:Palatino Linotype; font-size: 8pt; color: #fff7e7'><a href='$i[url]'target=_blank><img src='images/88x31branco58.gif' border='0' height='31' width='88'></a><br>$i[messaggio]</td>"; 
    } 
             echo"</tr>"; 
                echo"<tr>"; 
                    echo"<td style='font-family:Palatino Linotype; font-size: 8pt; color: #fff7e7'><img src='images/1101944.gif'> <b>Annuncio postato da <u>$i[nome]</u> il $i[data]</b></td>"; 
                echo"</tr>"; 
            echo"</table>"; 
            echo"<table border='0' width='100%'>"; 
        echo"<tr>"; 
           echo"<td height='3'></td>"; 
        echo"</tr>";
        echo"</table>"; 
            echo"</td>"; 
        echo"</tr>"; 
        echo"</table>";
        echo "<table style='font-family:Palatino Linotype; font-size: 8pt; color: #fff7e7' border='0' cellpadding='0' cellspacing='0' width='400'> 
        <tr> 
            <td width=354>&nbsp; Tutti i nostri annunci <img src='images/canuccio1.gif'> pagine... $pagination</td> 
            <td>&nbsp;</td> 
        </tr> 
    </table> 
    </td> 
        </tr> 
    </table>"; 
    ?>
    Ma non c'è verso non funge
    http://www.iltelaiodipenelope.it/pub...box/prova4.php
    appunto mi è venuto il dubbio che l'if anche se sembra la soluzine più logica forse non lo devo mettere li ............ari-bohhhhhhhhhhhhhh!!!!!
    HELP ME SORRY

  19. #19
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    non so come fartelo capire .... --> devi togliere le virgolette da:
    Codice PHP:
    $filename = '$i[img]';
    devi scrivere senza virgolette, perchè $i è una variabile, quindi se tu la includi dentro le virgolette file_exists cerca quello che c'è scritto '$i[img]' e non il suo valore, il valore della variabile $i :
    Codice PHP:
    $filename = $i[img];
    in questo esempio $filename = '/path/to/foo.txt'; il path dell'imaggine è definito manualmente, cioè file_exists cerca il file immagine foo.txt, perchè è definito tra le virgolette, se tu includi tra le virgolette '$i[img]' , file_exists cerca esattamente quello che c'è scritto cioè cerca $i[img] e quindi non trova nessun file immagine....

    se scrivo : $filename = $_SERVER{'DOCUMENT_ROOT'} . "/images/image1.gif";

    $_SERVER{'DOCUMENT_ROOT'} è una variabile che definisce la root.
    Ultima modifica di EuroSalute : 11-04-2010 alle ore 12.01.17 Motivo: più info
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  20. #20
    Data registrazione
    11-07-2009
    Residenza
    Roma
    Messaggi
    163

    Predefinito

    E' proprio quello il problema, è vero che so un po' tosta ma alla fine le virgolette le avevo tolte, come ti ho scritto ho fatto un mare di prove ma il risultato è sempre lo stesso guarda ora ho ri-tolto le benedette virgolette

    $filename = $i[img];
    if ( file_exists($filename) ) {

    http://www.iltelaiodipenelope.it/pub...box/prova4.php

    se guardi html della pagina puoi vedere che ci sono solo i tag che riguardano la table ma non ci sono le celle ovvero i tr e i td che contengono tutte le informazioni... che altro manca o cosa ho messo di troppo ora!?!

  21. #21
    makingweb non è connesso Utente attivo
    Data registrazione
    30-06-2009
    Messaggi
    281

    Predefinito

    Codice PHP:
    <?php
    $filename
    = $i['img'];

    if (
    file_exists($filename)) {
    echo
    "<img src='".$filname."' alt='".$filname."' />";
    } else {
    echo
    "<img src='immginedefault.png' alt='Immagine non trovata'";
    }
    ?>
    Spero che questo basti a terminare questa infinita discussione...

  22. #22
    Data registrazione
    11-07-2009
    Residenza
    Roma
    Messaggi
    163

    Predefinito

    Ciao makingweb ti assicuro che non volevo dare tutto questo disturbo e spero di aver capito bene come utilizzare il codice che mi hai scritto perchè non sortisce l'effetto desiderato purtroppo, per cui o ho ri-sbagliato io ho tu non hai letto bene tutta l'infinita discussione
    Codice:
    echo "<table border='1' width='400'>"; 
         echo "<tr>"; 
            echo "<td>"; 
            echo "<table border='0' cellpadding='3' cellspacing='3' width='100%'>"; 
                echo "<tr>";
    $filename = $i['img'];            
    if ( file_exists($filename) ) { 
    echo "<td style='font-family:Palatino Linotype; font-size: 8pt; color: #fff7e7'><a href='$i[url]'target=_blank><img src='".$filname."' border='0' height='31' width='88'></a><br>$i[messaggio]</td>"; 
    } else { 
    echo "<td style='font-family:Palatino Linotype; font-size: 8pt; color: #fff7e7'><a href='$i[url]'target=_blank><img src='images/88x31branco58.gif' border='0' height='31' width='88'></a><br>$i[messaggio]</td>"; 
    } 
             echo"</tr>"; 
                echo"<tr>"; 
                    echo"<td style='font-family:Palatino Linotype; font-size: 8pt; color: #fff7e7'><img src='images/1101944.gif'> <b>Annuncio postato da <u>$i[nome]</u> il $i[data]</b></td>"; 
                echo"</tr>"; 
            echo"</table>"; 
            echo"<table border='0' width='100%'>"; 
        echo"<tr>"; 
           echo"<td height='3'></td>"; 
        echo"</tr>";
        echo"</table>"; 
            echo"</td>"; 
        echo"</tr>"; 
        echo"</table>";
    ....................
    http://www.iltelaiodipenelope.it/pub...box/prova4.php

  23. #23
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    non è $filname, ma $filename c'è una e di meno....

    Poi devi verificare questo:

    Warning

    This function returns FALSE for files inaccessible due to safe mode restrictions. However these files still can be included if they are located in safe_mode_include_dir.

    http://php.net/manual/en/function.file-exists.php


    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  24. #24
    Data registrazione
    11-07-2009
    Residenza
    Roma
    Messaggi
    163

    Predefinito

    Corretta la e ma tanto non funziona uguale, ho guardato l'avviso che mi hai consigliato ma non capisco cosa significhi, "restituisce FALSE per i file inaccessibili a causa di restrizioni modalità provvisoria..." ????????????

  25. #25
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    devi verificare l'impostazione del safe mode nel file .htaccess, il safe mode deve essere off

    nel file php.ini:

    safe_mode=Off

    nel file .htaccess :

    php_flag safe_mode off
    Ultima modifica di EuroSalute : 11-04-2010 alle ore 20.32.17 Motivo: più info
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  26. #26
    makingweb non è connesso Utente attivo
    Data registrazione
    30-06-2009
    Messaggi
    281

    Predefinito

    Cosi dovrebbe andare

    Codice PHP:
    <?php


    $filname
    = $i['img'];

    if (
    file_exists($filname) || strlen($filname)> 10 ) {
    echo
    "<img src='".$filname."' alt='".$filname."' />";
    } else {
    echo
    "<img src='immginedefault.png' alt='Immagine non trovata'";
    }
    ?>
    oppure

    Codice PHP:
    <?php


    $filname
    = $i['img'];

    if (!
    file_exists($filname)) {
    echo
    "<img src='".$filname."' alt='".$filname."' />";
    } else {
    echo
    "<img src='immginedefault.png' alt='Immagine non trovata'";
    }
    ?>

  27. #27
    Data registrazione
    11-07-2009
    Residenza
    Roma
    Messaggi
    163

    Predefinito

    makingweb sei gentilissimo ho provato i codici che mi hai scritto ma non va, mi sa che ha ragione Euro devo smanettare sui file che mi ha indicato.... però il sito è su aruba e anche mysql non ho la più pallida idea di dove siano i suddetti file

    nel file php.ini:

    safe_mode=Off

    nel file .htaccess :

    php_flag safe_mode off

    ^_^' mi sapete indicare dove trovarli?
    Lo so che non ne potete più di ma vi prego un'ultimo aiuto^^


    Ok come non detto mi son risposta da sola facendo piccola ricerca e:

    non mi risulta che sia possibile, le varie opzioni sono definite nel file php.ini (lette una sola volta al momento dell'avvio del server), successive sovrascritture (private del proprio dominio) sono possibili via httpd.conf e .htaccess (quindi verosimilmente solo su Linux), ma servono i privilegi "AllowOverride Options" o "AllowOverride All" per poterlo fare... e, appunto, non mi risulta che noi "comuni mortali" li abbiamo...



    Possibile che non ci sia un'altra soluzione?
    Ultima modifica di penelopesito : 11-04-2010 alle ore 22.17.47

  28. #28
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Disattivare safe_mode non serve a nulla, dato che la funzione file_exists funziona perfettamente.
    Di sicuro non funzionerà su un file esterno al tuo host (per esempio http: // file.png).

  29. #29
    Data registrazione
    11-07-2009
    Residenza
    Roma
    Messaggi
    163

    Predefinito

    Bè meno male che non devo romperre le scatole a file particolari tanto mi sarebbe impossibile ma che vuoi dire con "Di sicuro non funzionerà su un file esterno al tuo host (per esempio http: // file.png)." io ho tutto sullo stesso sito e directory^^

  30. #30
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    pER CONTROLLARE IL SAFE_MODE:
    http://www.php.net/manual/en/features.safe-mode.php

    Codice PHP:
    <?php
    // Check for safe mode
    if( ini_get('safe_mode') ){
    // Do it the safe mode way
    echo "safe_mode ON";
    }else{
    // Do it the regular way
    echo "safe_mode OFF";
    }

    ?>

    su questa pagina ho inserito questo controllo(ho abilitato il php 5):
    http://eurosalute.altervista.org/tool/images.php



    Warning

    This feature has been DEPRECATED as of PHP 5.3.0. Relying on this feature is highly discouraged.
    Ultima modifica di EuroSalute : 12-04-2010 alle ore 12.11.17 Motivo: più info
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

Pagina 1 di 2 12 UltimoUltimo

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •