Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    119

    Inserire articoli con immagini

    Salve a tutti. Ho un problema
    Sto realizzando una form dalla quale è possibile inserire degli articoli. Questi articoli hanno ovviamente un titolo, un'autore, una data, un testo e mi piacerebbe anche poter fare inserire delle immagini da chi scrive appunto questi articoli. Il problema è.. come??
    Non ho problemi a creare la form e ad inserire i nuovi dati all'interno del db, ma non capisco come poter uploadare ed inserire le immagini. Innanzi tutto ho messo come campi della tabella "articoli" pct1, pct2, pct3, pct4 che conterranno gli url delle foto (massimo quattro per ogni articolo, che mi sembrano gia troppe!!!!). Volevo fare tutto su una stessa form.. ma non so come.. pensavo di precostruire la struttura degli articolo in base al numero delle immagini e quindi di inserirle in automatico. Praticamente se ho 0 immagini l'articolo sarà formato solamente da testo, se ne ho una magari in alto a destra ci sarà questa immagine, se ne ho due: una in alto a destra e l'altra in basso a sinistra e cosi via, ma poi ho pensato che sarebbe un casino in quanto se l'articolo fosse troppo corto verrebbe fuori una cosa non molto bella esteticamente. Allora ho avuto un'altra idea: quella di uploadare le immagini e poi farle inserire a piacimento dall'autore dell'articolo usando il tag <img scr.......>.. ma non so.. boh.. cosa mi consigliate??
    Grazie sin da ora!!

  2. #2
    Utente di HTML.it L'avatar di redmak
    Registrato dal
    May 2005
    Messaggi
    83
    Inserimento dell'immagine:
    Codice PHP:
    <?php include('controllologin.php');?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Inserimento Immagini</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link href="stiletesto.css" rel="stylesheet" type="text/css">
    </head>
    <body>
    <table  border="0" cellspacing="0" cellpadding="0">
      <tr>
        <th scope="row">[img]../img/paint_application.png[/img]</th>
        <td><h1>Inserimento Immagini </h1></td>
      </tr>
    </table>

    <form action="upload.php" method="post" enctype="multipart/form-data">
    <table  border="0" cellspacing="2" cellpadding="0">
      <tr>
        <th scope="row"><div align="right">Seleziona Immagine</div></th>
        <td><input name="image" type="file" /></td>
      </tr>
      <tr>
        <td></td>
        <td><input name="upload" type="submit" class="bottone" value="Carica immagine" /></td>
      </tr>
    </table>
       
    </form>
    <a href="home.php">[img]../img/tools_small.png[/img]

    back</a>
    </body>
    </html>
    file upload.php:
    Codice PHP:
    <?php
    include('../connessione.php');
    $msg "";
    do {
      if (
    is_uploaded_file($_FILES['image']['tmp_name'])) {
        
    // Controllo che il file non superi i 18 KB
        
    if ($_FILES['image']['size'] > 130000) {
          
    $msg "

    Il file non deve superare i 128 kb</p>"
    ;
          break;
        }
        
    // Ottengo le informazioni sull'immagine
        /*open_basedir = "/var/tmp/";
        list($width, $height, $type, $attr) = getimagesize($_FILES['image']['tmp_name']);
        // Controllo che le dimensioni (in pixel) non superino 160x180
        if (($width > 280) || ($height > 500)) {
          $msg = "

    Dimensioni non corrette</p>";
          break;
        }
        // Controllo che il file sia in uno dei formati GIF, JPG o PNG
        if (($type!=1) && ($type!=2) && ($type!=3)) {
          $msg = "

    Formato non corretto</p>";
          break;
        }*/
        // Verifico che sul sul server non esista già un file con lo stesso nome
        // In alternativa potrei dare io un nome che sia funzione della data e dell'ora
        
    if (file_exists('upload_img/'.$_FILES['image']['name'])) {
          
    $msg "

    File già esistente sul server. Rinominarlo e riprovare.</p>"
    ;
          break;
        }
        
    // Sposto il file nella cartella da me desiderata
        
    if(!move_uploaded_file($_FILES['image']['tmp_name'],'upload_img/'.$_FILES['image']['name'])){
          
    $msg "

    Errore nel caricamento dell'immagine</p>"
    ;
          break;
        } 
        else{
         
    $msg"

    Operazione Eseguita</p>"
    ;
         break;
         }
      }
    } while (
    false);

    if(
    $msg!=""){
        
    $sql="INSERT INTO immagini (nome) VALUES ('".$_FILES['image']['name']."')";
        
    mysql_db_query($nomedb,$sql);
        
    $msg "<h2>Immagine caricata nel server</h2>";
        }
    else{
        
    $msg "

    Nessuma immagine Selezionata</p>"
    ;
        }
    ?>

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    119
    si.. avevo trovato anche io questo codice.. mi sa che dovrò utilizzare questo allora.. per caso avete un'idea veloce veloce per adattarlo con la possibilità di inserire massimo 4 immagini?

  4. #4
    Utente di HTML.it L'avatar di redmak
    Registrato dal
    May 2005
    Messaggi
    83
    4 campi per inserire le immagini

    <input name="image1" type="file" />
    <input name="image2" type="file" />
    <input name="image3" type="file" />
    <input name="image4" type="file" />


    poi nel file upload.php

    un ciclo

    for($i=1;$i<=4;$i++){

    [B]$immagine corrente="image".$i
    if (is_uploaded_file($_FILES[$immaginecorrente]['tmp_name'])) {
    // Controllo che il file non superi i 18 KB
    if ($_FILES[$immaginecorrente]['size'] > 130000) {
    $msg = "

    Il file non deve superare i 128 kb</p>";
    break;
    }

    ecc....

    }

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    119
    che stupido c'hai ragione!!! Grazie mille!!

  6. #6

    scusate

    Problema simile..
    Devo consentire lato utente di uploadare immagini e dati. Le immagini vorrei spedirle sul file system del server e vorrei passare il nome del file al database, in modo poi che sia richiamato da una select ecc.
    Ora ho ulizzato il codice Da Redmak proposto così:

    FORM
    <table border="0" cellspacing="0" cellpadding="0">
    <tr>
    <th scope="row">[img]../img/paint_application.png[/img]</th>
    <td><h1>Inserimento Immagini </h1></td>
    </tr>
    </table>

    <form action="moon.php" method="post" enctype="multipart/form-data">
    <table border="0" cellspacing="2" cellpadding="0">
    <tr>
    <th scope="row"><div align="right">Seleziona Immagine</div></th>
    <td><input name="image" type="file" /></td>
    </tr>
    <tr>
    <td></td>
    <td><input name="upload" type="submit" class="bottone" value="Carica immagine" /></td>
    </tr>
    </table>

    </form>
    <a href="home.php">[img]../img/tools_small.png[/img]

    back</a>

    UPLOAD:



    <?php
    $server = "66.71.190.67";
    $utente = "xxx";
    $password = "xxx";
    $datab = "xxx";


    // funzione per errore server mysql

    function errore_server()
    {
    echo "Il database MySql sembra non rispondere...
    MySql dice:
    <font color=red>". mysql_error()."</font>
    pregasi <a href=\"mailtoiergiorgio.papetti@ge010.it\">segnalare</a> il problema";
    } // end func


    // connessione e selezione db

    $connessione = @mysql_connect ($server, $utente, $password) or die (errore_server ());
    $db = mysql_select_db ($datab, $connessione) or die (errore_server ());
    /************************ buridda****************************/
    $msg = "";
    do {
    if (is_uploaded_file($_FILES['image']['tmp_name'])) {
    // Controllo che il file non superi i 18 KB
    if ($_FILES['image']['size'] > 130000) {
    $msg = "

    Il file non deve superare i 128 kb</p>";
    break;
    }
    // Ottengo le informazioni sull'immagine
    /*open_basedir = "/var/tmp/";
    list($width, $height, $type, $attr) = getimagesize($_FILES['image']['tmp_name']);
    // Controllo che le dimensioni (in pixel) non superino 160x180
    if (($width > 280) || ($height > 500)) {
    $msg = "

    Dimensioni non corrette</p>";
    break;
    }
    // Controllo che il file sia in uno dei formati GIF, JPG o PNG
    if (($type!=1) && ($type!=2) && ($type!=3)) {
    $msg = "

    Formato non corretto</p>";
    break;
    }*/
    // Verifico che sul sul server non esista già un file con lo stesso nome
    // In alternativa potrei dare io un nome che sia funzione della data e dell'ora
    if (file_exists('upload_img/'.$_FILES['image']['name'])) {
    $msg = "

    File già esistente sul server. Rinominarlo e riprovare.</p>";
    break;
    }
    // Sposto il file nella cartella da me desiderata
    if(!move_uploaded_file($_FILES['image']['tmp_name'],'upload_img/'.$_FILES['image']['name'])){
    $msg = "

    Errore nel caricamento dell'immagine</p>";
    break;
    }
    else{
    $msg= "

    Operazione Eseguita</p>";
    break;
    }
    }
    } while (false);

    if($msg!=""){
    $sql="INSERT INTO immagini (nome) VALUES ('".$_FILES['image']['name']."')";
    mysql_db_query($nomedb,$sql);
    $msg = "<h2>Immagine caricata nel server</h2>";
    }
    else{
    $msg = "

    Nessuma immagine Selezionata</p>";
    }
    ?>

    I parametri gli passa ma non carica niente, ho provato a sbagliare apposta la password della connesssione e segnale errore.
    La cartella sul file system l'ho creata, i permessi ce li ha.
    Ma di immagini nessuna traccia e niente su db.
    Permessi di server o errori grossolani da parte mia?
    http://www.menabonews.it

    Notizie, politica, opinioni, libri. Dalla Riviera, da Genova e dall'Italia

  7. #7
    http://www.menabonews.it

    Notizie, politica, opinioni, libri. Dalla Riviera, da Genova e dall'Italia

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.