• User

    Crea annunci con foto

    ciao a tutti, ho letto la guida su come creare una pagina di annunci con foto. Mi funziona tutto bene, l'unico problema e che non mi visualizza la foto. Sto facendo delle prove sul localhost. Uso easyphp. Quando vado a vedere nella cartella www, vedo che le foto me le mette nella cartella img(dove vanno a finire le foto caricate), ma sulla pagina degli annunci no. Mi sapete dire dove sbaglio? grazie in anticipo


  • User

    help ??


  • Moderatore

    se ci mostrassi il codice di visione forse capiremo^_^


  • User

    Ciao Massimux, sul file upload .php ho messo questo codice :

    <?
    //percorso della cartella dove mettere i file caricati
    $uploaddir = 'C:\Programmi\EasyPHP1-8\www\img\ ';
    if (!empty($_POST['nome'])){
    $nome = $_POST['nome'];
    }
    if (!empty($_GET['nome'])){
    $nome = $_GET['nome'];
    }
    if (!empty($_POST['recapito'])){
    $recapito = $_POST['recapito'];
    }
    if (!empty($_GET['recapito'])){
    $recapito = $_GET['recapito'];
    }

    if (!empty($_POST['oggetto'])){
    $oggetto = $_POST['oggetto'];
    }
    if (!empty($_GET['oggetto'])){
    $oggetto = $_GET['oggetto'];
    }

    echo "<center>";
    echo "Ciao ecco i risultati del tuo inserimento:";
    $errore= false;
    If((!$nome) || (!$recapito) || (!$oggetto)) {
    #controllo che nessun campo sia vuoto
    $errore=true;
    echo "Non hai compilato tutti i campi <a href="uno.htm">torna indietro</a>";
    exit;
    }
    else{
    echo " i campi sono ok";
    }

    //Recupero il percorso temporaneo del file
    $userfile_tmp = $_FILES['userfile']['tmp_name'];
    //recupero il nome originale del file caricato
    $userfile_name = $_FILES['userfile']['name'];
    print "<pre>";
    //copio il file dalla locazione temporanea alla mia cartella upload
    if (move_uploaded_file($userfile_tmp, $uploaddir . $userfile_name))
    {
    //Se l'operazione è andata a buon fine...
    print "File inviato con successo. Ecco alcune informazioni:\n";
    print_r($_FILES);
    }
    else
    {
    //Se l'operazione è fallta...
    print "Upload NON valido! Alcune informazioni:\n";
    print_r($_FILES);
    }
    print "</pre>";
    echo "<HR>";

    if (!$apri = fopen ("file.txt","a+")) {
    $errore=true;
    echo "non posso aprire il file";
    }else{
    $apriw = fopen ("file.txt","a+");
    #ora creo una variabile che contiene la linea di reparazione
    $linea ="<hr color=red>";

    e sul file scrivo nome e vado a capo,il recapito e vado a capo

    l'oggetto e vado a capo e la linea ti separazione

    fputs($apriw,"$nome\n");
    fputs($apriw,"$recapito\n");
    fputs($apriw,"$oggetto\n");
    fputs($apriw,"<img src=$userfile_name>\n");
    fputs($apriw,"$linea");
    #chiudo il file
    fclose($apriw);
    }
    #se c'e l'errore mi dice di inserirli di nuovo altrimenti mi fa leggere gli annunci
    if($errore){
    echo"
    Riinseriscili perfavore
    ";
    }
    else{
    echo "
    <a href="annunci.php">leggi gli annunci</a>";
    }

    ?>
    .................................................
    Sul file annunci.php ho messo questo:

    <?php
    echo "Ecco i vostri annunci
    ";
    if (!$apri = fopen("file.txt","r")){
    echo "Non posso aprire il file";
    }else{
    #Se il file si può leggere allora con un ciclo while

    leggo tutte le righe del mio file

    while(!feof($apri)){
    $leggo = fgets($apri,255);
    echo "$leggo
    ";
    }
    }
    fclose($apri);
    ?>

    .................................................

    e su upload.html ho messo questo:

    <html>
    <head>
    <title>Upload</title>
    </head>
    <body>
    <form enctype="multipart/form-data" action="upload.php" method="POST">
    Nome
    <input type="text" name="nome" size="20">
    Recapito
    <input type="text" name="recapito" size="20">

    Oggetto
    <textarea name="oggetto" rows="3" cols="40"></textarea> </p>
    <input type="hidden" name="MAX_FILE_SIZE" value="30000">
    Invia questo file: <input name="userfile" type="file">
    <input type="submit" value="Invia File">
    </form>
    </body>
    </html>

    ........................................................................

    mi puoi dire dove sbaglio, la scritta mi esce e dove dovrebbe uscire la foto mi esce la crocetta rossa "al posto della foto" ,,,grazie