Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Problema visualizzazione immagini

    salvo le immagini in questo modo:
    Codice PHP:
    ........
    $query 'insert into images (image_caption,image_date,image_category) values ("' $image_caption '","' $image_date '","' $image_category '")';
    $result mysql_query($query$db) or die(mysql_error($db));
    // recupera il valore image_id generato in fase di inserimento
    $last_id mysql_insert_id();
    // assicuriamo che l'immagine non sovrascriva le altre esistenti
    $imagename $last_id "_" $_POST['category'] . '.jpg';
    $nome imagejpeg($image$dir '/' $imagename100);
    imagedestroy($image); 
    ho un problema in fase di visualizzazione:
    Codice PHP:
            <?php
            
    include_once 'config.php';
            
    $query "select * from images";
            
    $result mysql_query($query$db) or die(mysql_error($db));
            echo 
    "<table border=\"2\" cellpadding=\"3\" cellspacing=\"1\">";
            echo 
    "<tr>";
            echo 
    "<td>Descrizione</td>";
            echo 
    "<td>Data</td>";
            echo 
    "<td>Categoria</td>";
            echo 
    "<td>Foto</td>";
            echo 
    "</tr>";
            while (
    $riga mysql_fetch_array($result)) {
                echo 
    "<tr>";
                echo 
    "<td>" $riga['image_caption'] . "</td>";
                echo 
    "<td>" $riga['image_date'] . "</td>";
                echo 
    "<td>" $riga['image_category'] . "</td>";
                echo 
    '<td>[img]images/' che devo mettere?? . '[/img]</td>';
                echo 
    "</tr>";
            }
            echo 
    "</table>";
            
    ?>
    in pratica mi si vede tutto ma nn carica la foto.
    il problema sta nel nome del file solo che ho provato tutto quello che mi viene in mente.
    che devo mettere per caricare anche la foto??

    ps: so bene che se impostassi il nome con l'id della foto caricata mi basterebbe mettere un $rig[0], ma a me serve salvare la foto anche con il nome della categoria.

  2. #2
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    ..non si capisce dove carichi la foto..
    carichi il nome.. e nemmeno quello della foto.. boh?
    per caricare la foto devi usare move_uploaded_file, cerca nel forum o sul web, è pieno di esempi da quelli semplici a quelli complicati

  3. #3
    eccomi avevo qualche problema da risolvere:
    Codice PHP:
    <?php

    include_once 'link.html';
    include_once 
    'config.php';
    if (
    $_FILES['file']['error'] != UPLOAD_ERR_OK) {
        switch (
    $_FILES['uploadfile']['error']) {
            case 
    UPLOAD_ERR_INI_SIZE:
                die(
    "File troppo grande rispetto a php.ini");
                break;
            case 
    UPLOAD_ERR_FORM_SIZE:
                die(
    "File troppo grande rispetto a quanto stabilito nel form di upload");
                break;
            case 
    UPLOAD_ERR_PARTIAL:
                die(
    "File solo parzialmente caricato");
                break;
            case 
    UPLOAD_ERR_NO_FILE:
                die(
    "Nessun file è stato uplodato");
                break;
            case 
    UPLOAD_ERR_NO_TMP_DIR:
                die(
    "Problemi con cartella temp");
                break;
            case 
    UPLOAD_ERR_CANT_WRITE:
                die(
    "Problemi di permessi");
                break;
            case 
    UPLOAD_ERR_EXTENSION:
                die(
    "Estensione non supportata");
                break;
        }
    }
    $maxSize 500//massima dimensione dei file in kilobyte
    $acceptType = array(//tipi di file accettati, in questo caso solo immagini
        
    'png' => 'image/png',
        
    'jpe' => 'image/jpeg',
        
    'jpeg' => 'image/jpeg',
        
    'jpg' => 'image/jpeg',
        
    'gif' => 'image/gif',
        
    'bmp' => 'image/bmp',
        
    'ico' => 'image/vnd.microsoft.icon',
    );
    $cartella "images/"//cartella dove vengono caricati i file nel server
    $image_caption $_POST['caption'];
    $image_category $_POST['category'];
    $image_date date('Y-m-d');
    for (
    $i 0$i count($_FILES['file']['name']); $i++) {
        echo 
    "Risultato file " . ($i 1) . ": " singleUpload($i$cartella$maxSize$acceptType) . "
    "
    ;
        
    $query 'insert into images (image_caption,image_date,image_category) values ("' $image_caption '","' $image_date '","' $image_category '")';
        
    $result mysql_query($query$db) or die(mysql_error($db));
    }

    function 
    singleUpload($i$cartella$maxSize$acceptType) {
        if (
    $_FILES['file']['name'][$i] != "") {
            
    $destinazione $cartella basename(mysql_insert_id() . "_" $_POST['category'] . '.jpeg');
            if (
    $_FILES['file']['size'][$i] <= $maxSize 1024) {// da levare appena il resto funziona
                
    if (in_array($_FILES['file']['type'][$i], $acceptType)) {
                    if (
    move_uploaded_file($_FILES['file']['tmp_name'][$i], $destinazione)) {
                        return 
    "File caricato con successo!";
                    } else {
                        return 
    "Errore nell'upload del file";
                    }
                } else {
                    return 
    "Tipo di file non accettato!";
                }
            } else {
                return 
    "Dimensione del file troppo grande, massima dimensione accettata: " $maxSize " kilobyte";
            }
        } elseif (isset(
    $_POST['upload'])) {
            return 
    "Nessun file inserito!";
        }
    }

    //imagedestroy($image);
    ?>
    questa è la riga dove viene impostato il nome del file:
    Codice PHP:
            $destinazione $cartella basename(mysql_insert_id() . "_" $_POST['category'] . '.jpeg'); 
    nella pagina di visualizzazione come posso richiamare il nome:
    Codice PHP:
            while ($riga mysql_fetch_array($result)) {
                echo 
    "<tr>";
                echo 
    "<td>" $riga['image_caption'] . "</td>";
                echo 
    "<td>" $riga['image_date'] . "</td>";
                echo 
    "<td>" $riga['image_category'] . "</td>";
                echo 
    '<td>[img]images/' /* qui mi manca come richiamare il nome*/ '[/img]</td>';
                echo 
    "</tr>";
            } 

  4. #4
    Utente di HTML.it L'avatar di brodik
    Registrato dal
    Jan 2009
    Messaggi
    765
    la domanda che tutti si pongono è:

    $_POST['category'] è uguale a $riga['image_category']?

    se si, bene lo script è fattibile.
    se no.. è un po' più complicato visto che non salvi il nome dell'immagine nel DB, ma comunque fattibile utilizzando le funzioni filesystem di php..
    eXvision

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.