Visualizzazione risultati 1 fino 8 di 8

Discussione: upload di immagini

  1. #1
    icfast non è connesso Utente
    Data registrazione
    15-05-2011
    Messaggi
    107

    Predefinito upload di immagini

    salve a tutti...
    ho fatto una pagina dando la possibilità agli utenti di fare l'upload di alcune immagini...
    vi mostro il codice.
    Codice PHP:
    <?
    $dimensione_massima
    =1890200; //dimensione massima consentita per file in byte -> 1024 byte = 1 Kb
    $dimensione_massima_Kb=$dimensione_massima/1024;
    $cartella_upload="public/"; //cartella in cui eseguire l'upload (controllare permessi scrittura)
    // percorso cartella relativo $cartella_upload="../public/";
    $filtrare=1; //filtrare x estensioni ammesse? 1=si 0=no
    $array_estensioni_ammesse=array('.jpg','.jpeg','.gif','.png'); //estensioni ammesse

    if(!isset($_FILES['file1']) || $_FILES['file1']['size']==0){
    echo
    "Nessun file selezionato per l'upload";
    }elseif(
    $_FILES['file1']['size']>$dimensione_massima){
    echo
    "Il file selezionato per l'upload supera dimensione massima di $dimensione_massima_Kb Kb";
    }else{
    $nome_file=$_FILES['file1']['name'];
    $errore="";
    if(
    $filtrare==1){
    $estensione = strtolower(substr($nome_file, strrpos($nome_file, "."), strlen($nome_file)-strrpos($nome_file, ".")));
    if(!
    in_array($estensione,$array_estensioni_ammesse)){
    $errore.="Upload file non ammesso. Estensioni ammesse: ".implode(", ",$array_estensioni_ammesse)."<br/>";
    }
    }
    if(!
    file_exists($cartella_upload)){
    $errore.="La cartella di destinazione non esiste</br>";
    }

    if(
    $errore==""){
    if(
    move_uploaded_file($_FILES['file1']['tmp_name'], $cartella_upload.$_FILES['file1']['name'])){
    chmod($cartella_upload.$_FILES['file1']['name'],0777); //permessi per poterci sovrascrivere/scaricare
    echo "Operazione eseguita con successo. Upload riuscito.";
    }else{
    echo
    "Impossibile effettuare l'upload del file";
    }
    }else{
    echo
    $errore;
    }
    }

    function
    elencafiles($dirname){
    $arrayfiles=Array();
    if(
    file_exists($dirname)){
    $handle = opendir($dirname);
    while (
    false !== ($file = readdir($handle))) {
    if(
    is_file($dirname.$file)){
    array_push($arrayfiles,$file);
    }
    }
    $handle = closedir($handle);
    }
    sort($arrayfiles);
    return
    $arrayfiles;
    }

    $arrayfile=array();
    $arrayfile=elencafiles("public/");
    for(
    $a=0;$a<count($arrayfile);$a++){
    echo
    "<a href='public/".$arrayfile[$a]."'>".$arrayfile[$a]."</a>";
    }

    ?>
    ora quando finisce di fare l'upload mi mostra i link delle immagini e cliccandoci sopra riesco a visualizzarle..
    come posso fare per visualizzare direttamente le immagini al posto dei link?

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,985

    Predefinito

    Sostituisci:
    Codice PHP:
    echo "<a href='public/".$arrayfile[$a]."'>".$arrayfile[$a]."</a>";
    Con
    Codice PHP:
    echo "<img src='public/".$arrayfile[$a]."'>";
    Ciao!

  3. #3
    icfast non è connesso Utente
    Data registrazione
    15-05-2011
    Messaggi
    107

    Predefinito

    grazie mille!
    ho risolto ..
    comunque già che ci sono volevo chiedere una cosa...
    come faccio a impostare una grandezza per le immagini?perchè quando le uploado mi vengono mostrate con le dimensioni normali...come faccio a impostare per esempio che siamo tutte 100x100 px?
    grazie in anticipo

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,985

    Predefinito

    usando il css:

    Codice HTML:
    <img src='url' style="width:100px;height:100px">
    anche se, sarebbe più conveniente definire una classe in css e usare quella per gli attributi...

    (solo per completezza), ci sarebbero i tag width e height:

    Codice HTML:
    <img src="url" width="100px" height="100px">
    ma sono obsoleti (li sconsiglio).

    p.s: in caso le immagini non siano quadrate, per non deformarle, puoi definire solo l'altezza o solo la larghezza; l'altra dimensione si definirà in automatico rispettando le proporzioni dell'immagine...

    Ciao!
    Ultima modifica di alemoppo : 12-08-2011 alle ore 16.14.51

  5. #5
    icfast non è connesso Utente
    Data registrazione
    15-05-2011
    Messaggi
    107

    Predefinito

    sì ma essendo il codice complesso e io alle prime armi ,non so cosa sostituire a url...
    mi scusi per l'ignoranza

  6. #6
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,985

    Predefinito

    (non è necessario, per quanto mi riguarda, usare il "lei" :) )
    {sul forum si da dal "tu" per parlare meglio. Spero mi sia permesso :D }


    ---

    Dovresti capire cosa stai facendo. Il tag delle immagini è sempre quello:

    Codice PHP:
    echo "<img src='public/".$arrayfile[$a]."'>";
    L'esempio che ho fatto, come hai notato, è in generale.

    Quindi, dovresti fare:

    Codice PHP:
    echo "<img src='public/".$arrayfile[$a]."' style='width:100px;height:100px'>";
    Ciao!
    Ultima modifica di alemoppo : 12-08-2011 alle ore 16.41.11

  7. #7
    icfast non è connesso Utente
    Data registrazione
    15-05-2011
    Messaggi
    107

    Predefinito

    sì lo so dovrei sapere di più però come ho già detto ho appena cominciato il php...

  8. #8
    Guest

    Predefinito Ciao

    Ciao,

    Anche io sto lavorando ora con le immagini. nel mio database, ho cinque image, chiamate Immagine1, immagine, 2 immagine3, immagine4 e immagine5. Volevo sapere come si uploadavano e poi salvarle nel database, Non ho la più pallida idea di come si faccia. mi potretsi dare una mano per favore ???? Grazie.

Regole di scrittura

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