Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    20

    script php per creare cartella e contemporanemente inserire immagine

    ciao a tutti... sono nuovo del forum
    ho un problema che vorrei sottoporre alla vostra attenzione e che non sono riuscito a risolvere da solo visto la mia quasi totale estraneità all php ( riesco a fare solo le cose elementari come copiare uno script già fatto e cambiare le variabili per farlo funzionare eh eh eh).

    allora quello che vorrei fare io è creare un form (e fin qui no problem) nel quale possa creare una cartella (anche quin no problem) e contemporaneamente o in uno step successivo inserire in quella cartella delle immagini (in teori anche qui no problem dato che ho trovato uno script anche per quello)... IL PROBLEMA e come diavolo faccio a dire al secondo script di andare a prendere la cartella appena creata dal primo script... vi posto gli script che avevo inezione di usare


    PER CREARE LA CARTELLA-------------------------------------------------------------

    <?php
    $cart = "nomedellacartelladacreare"; # specifica il nome della cartella da creare!
    $crea = mkdir(getcwd()."/".$cart."/", 0777);
    if($crea) { echo "<h1>Cartella '$cart' Creata!</h1>"; }
    else { echo "<h1>ERRORE NEL CREARE LA CARTELLA!</h1>"; }
    ?>

    PER ISERIRE LE IMMAGINI--------------------------------------------------------------

    <?php
    //Impostazioni varie da modificare a piacimento
    $dimensione_max = '12600000'; // Dimensione massima delle foto
    $upload_dir = './files'; // Cartella dove posizione le foto
    $estensioni = array ("png", "jpg", "gif"); // Tipi di File consentiti
    $noSubmitSend = 'Nessun upload eseguito!'; // Messaggio di errore quando viene richiamato direttamente lo script PHP
    $wrongExt = 'Estensione file non valida!'; // Messaggio di errore per tipo di file non consentito
    $tooBig = 'Il file eccede la dimensione max!'; // Messaggio di errore per file troppo grande
    $thatsAll = 'Foto caricata con successo!'; // Messaggio di OK per upload corretto
    $wrongUp = 'Something wrong here!'; // Messaggio di errore quando lo script non riesce ad eseguire l'upload
    //***************************************

    // Controllo il submit del form HTML...
    if(isset($_POST['send'])) {
    $file = $_FILES['userimage']['name'];

    // Controllo il tipo di file...
    if(in_array(array_pop(explode('.',$file)),$estensi oni)) {

    // Controllo la dimensione del file...
    $dimensione_file = $_FILES['userimage']['size'];
    if ($dimensione_file > $dimensione_max) {
    print $tooBig;
    } else {
    doUpload($file, $upload_dir);
    }

    } else {
    print $wrongExt;
    }
    } else {
    print $noSubmitSend;
    }


    function doUpload($file, $upload_dir) {
    global $thatsAll;

    $nomefile = $_FILES['userimage']['tmp_name'];
    $nomereale = $_FILES['userimage']['name'];
    $nomereale = htmlentities(strtolower($nomereale));

    if (is_uploaded_file($nomefile)) {
    $newname = ($nomereale);

    $ext = end(explode('.',$nomereale));
    $filename = explode('.',$nomereale);
    if (file_exists($upload_dir.'/'.$nomereale)) {
    $filename[0] .= '.';
    for ($a=0;$a<=9;$a++)
    $filename[0] .= chr(rand(97,122));
    $newname = $filename[0] . '.' . $ext;
    }

    $newname = str_replace(' ', '_', $newname);

    @move_uploaded_file($nomefile,($upload_dir.'/'.$newname));
    print $thatsAll;
    } else print $wrongUp;

    }
    ?>


    E COME ULTIMA COSA...e se dovessi caricare più di una immagine per volta come faccio?????

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    20
    RISOLTO... grazie lo stesso

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    20
    posto la soluzione... magari è utile a qualcuno nel caso in cui si utilizzasse uno script php che consente di creare una galleria immagini mediante cartelle

    <?php

    $cart = $_POST['nome'];
    $crea = mkdir(getcwd()."/images/gallery/foto/".$cart."/", 0777);
    if($crea) { echo "<h1>Cartella '$cart' Creata!</h1>"; }
    else { echo "<h1>ERRORE NEL CREARE LA CARTELLA!</h1>"; }

    if ($_SERVER['REQUEST_METHOD'] == "POST" && isset($_POST['upload_img'])) {
    $maxSize =12000000; //byte => 12MB
    $acceptType = array(
    'jpeg' => 'image/jpeg',
    'jpg' => 'image/jpeg',
    'png' => 'image/png'
    );
    $cartella = "./images/gallery/foto/$cart/";

    for ($i = 0; $i < count($_FILES['file']['name']); $i++) {
    if ($_FILES['file']['name'][$i] != "") {
    $nome_upload = uniqid('gallery_') . strrchr($_FILES['file']['name'][$i], '.');
    $destinazione = $cartella . $nome_upload;
    if ($_FILES['file']['size'][$i] <= $maxSize) {
    if (in_array($_FILES['file']['type'][$i], $acceptType)) {
    if (move_uploaded_file($_FILES['file']['tmp_name'][$i], $destinazione)) {
    echo "File " . $i . " caricato
    ";
    } else {
    echo "Errore nell'upload
    ";
    }
    } else {
    echo 'Tipo file non valido
    ';
    }
    } else {
    echo 'File troppo grande
    ';
    }
    } elseif ($_POST['upload_img']) {
    echo 'Non ci sono file da inserire
    ';
    }
    }
    }

    header("Location: successo.php");

    ?>

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    1,183

    zaga 86

    Ciao
    ti vorrei chiedere una cosa sul tuo script (una cosa che mi sta attanagliando da giorni)

    Una volta caricate le immagini, in che ordine te visualizza?
    A me le visualizza in ordine alfabetico (in alto mette la a ecc....)

    vorrei invece che me le visualizzasse in ordine di creazione
    e cioè in altro vorrei apparisse l'ultima immagine caricata

    grazie mille
    victor
    ----------------------

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    20
    lo script che ho postato consento SOLTANTO di creare un abum e inserire le immagini... ci vuole un altro script che visualizza le foto ed è quest'ultimo che ti consente di scegliere in che ordine visulaizzare le immagini... ti posto quello che uso io per metterle in ordine cronologico.

    https://github.com/FSX/imgbrowz0r

    non è difficile da configurare però devi fargli qualche modifica... ad esempio se clicchi sull'immagine te la aprirà semplicemente in un altra finestre e va bene però se vuoi fare una cosa più figa ad esempio visualizzarle con milkbox devi modificare gli echo del file imgbrowz0r.php in modo tale che richiami milkbox... è più difficile a spiegarsi che a farsi... spero di esserti stato utile

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    1,183
    non ci ho capito nulla
    victor
    ----------------------

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    20
    vediamo se riesco ad essere più chiaro...

    allora lo script della discussione serve per creare cartelle e contemporanemente inserire immagini nella cartella appena creata con un FORM, quindi dovrai creare due pagine php, una con dentro il form e l'altra con dentro lo script che ho postato. come fanno a comunicare le due pagine?! ovviamente nel form ci sarà il valore ACTION che richiama la pagina con dentro lo script e fin qui penso tu ci sia arrivato.

    una volta fatto questo ti ritrovi con il tuo bel script e ti crei tutte le cartelle che vuoi con dentro le immagini... ma dovrai pur visualizzarle all'interno del sito, no?! e lo fai con lo script che si trova nel link che ti ho postato(https://github.com/FSX/imgbrowz0r):

    questo sript secondo me va bene così com'è, però gli devi fare qualche modifica nel senso che: se cliccli per ingrandire un immagine, lo script di default, te la apre e basta in un'altra scheda ed esteticamente è brutta come cosa da vedere, servirebbe un programma fatto in javascript come milkbox (lo trovi subito con google) che ti apre l'immagine nella stessa pagina del link con effetti grafici più gradevoli. per usare questo script con milk box devi modificare questo script a livello di echo ATTENTO CHE é UNA MODIFICA OPZIONALE, SE NON HAI VOGLIA DI SBATTERTI NON LO FAI. ti posterei tutto il codice così copi e incolli e il gioco è fatto ma non bastano il numero di caratteri massimi consentiti dal forum (è un pò lunghino come script).

    il tuo sito quindi dovresti organizzarlo così:

    1)pagina INSERISCI_IMMAGINI.php nella quale ci sarà il form che richiama lo script per la creazione di cartelle e inserimento immagini

    2)pagina VISUALIZZA_IMMAGINI.php nella quale ci sarà lo script che ti ho postato per visualizzare le immagini in ordine cronologico (https://github.com/FSX/imgbrowz0r):
    PIU' PRECISAMENTE questo script è formato da due parti ovvero dal codice che dovrai inserire in VISUALIZZA_IMMAGINI.php e dalla pagina imgbrowz0r.php dove risiede lo script vero e proprio e che logicamente viene richiamata dal codice inserito in VISUALIZZA_IMMAGINI.php.


    se non hai ancora capito no problem vedrò di postarti tutto il codice a blocchi

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    1,183
    grazie sei gentilissimo davvero

    non è che mi manderesti tutto il codice di tutte le pagine?
    cosi me le creo

    grazie infinite
    victor
    ----------------------

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    20
    CON QUESTE DUE PAGINE CREI CARTELLE E INSERISCI IMMAGINE

    inserisci_immagine.php

    Codice PHP:

    <form enctype="multipart/form-data" action="gestione_img.php" method="post">

       <
    input name="nome" type="text" class="text" id="nome" size="30">
         
        <
    input name="file[]" type="file" class="text" />
         <
    input name="file[]" type="file" class="text" /></td>
          <
    input type="reset" value="Reset" class="button-reset"/>
    <
    input name="upload_img" type="submit" class="button-invia" value="Carica foto" /></td>
    </
    form
    gestione_img.php

    Codice PHP:
    <?php

    $cart 
    $_POST['nome'];
    $crea mkdir(getcwd()."/images/gallery/foto/".$cart."/"0777);
    if(
    $crea) { echo "<h1>Cartella '$cart' Creata!</h1>"; }
    else { echo 
    "<h1>CARTELLA ESISTENTE!</h1>"; }  

    if (
    $_SERVER['REQUEST_METHOD'] == "POST" && isset($_POST['upload_img'])) {
     
    $maxSize =12000000//byte => 12MB
     
    $acceptType = array(
     
    'jpeg' => 'image/jpeg',
     
    'jpg' => 'image/jpeg',
     
    'png' => 'image/png'
     
    );
     
    $cartella "./images/gallery/foto/$cart/";

     for (
    $i 0$i count($_FILES['file']['name']); $i++) {
     if (
    $_FILES['file']['name'][$i] != "") {
     
    $nome_upload uniqid('gallery_') . strrchr($_FILES['file']['name'][$i], '.');
     
    $destinazione $cartella $nome_upload;
     if (
    $_FILES['file']['size'][$i] <= $maxSize) {
     if (
    in_array($_FILES['file']['type'][$i], $acceptType)) {
     if (
    move_uploaded_file($_FILES['file']['tmp_name'][$i], $destinazione)) {
     echo 
    "File " $i " caricato
    "
    ;
     } else {
     echo 
    "Errore nell'upload
    "
    ;
     }
     } else {
     echo 
    'Tipo file non valido
    '
    ;
     }
     } else {
     echo 
    'File troppo grande
    '
    ;
     }
     } elseif (
    $_POST['upload_img']) {
     echo 
    'Non ci sono file da inserire
    '
    ;
     }
     }
    }
    header("Location: inserisci_immagini.php");

    ?>

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    20
    CON QUESTE ALTRE DUE PAGINE VISUALIZZI LE IMMAGINI

    album.php

    Codice PHP:
    <?php

    error_reporting
    (E_ALL);

    // Some stuff for generating stats
    function file_size($size)
    {
        
    $units = array('b''Kb''Mb''Gb''Tb''Pb''Eb');

        for (
    $i 0$size 1024$i++)
            
    $size /= 1024;

        return 
    round($size2).' '.$units[$i];
    }

    function 
    get_microtime($microtime=false)
    {
        if (
    $microtime === false)
            
    $microtime microtime();

        list(
    $usec$sec) = explode(' '$microtime);
        return ((float)
    $usec + (float)$sec);
    }

    $start_timer microtime();

    // Include class
    require 'imgbrowz0r.php';

    // These are all settings (set to default). The settings are not validated since you have to configure everything.
    // There is a chance that ImgBrowz0r stops working if you enter the wrong values.
    $config = array(
        
    // Directory settings. These are required. Without trailing slash. (required)
        
    'images_dir'               => 'images/gallery/foto',
        
    'cache_dir'                => 'images/gallery/cache',

        
    // Url settings. These are required. Without trailing slash. (required)
        // %PATH% is replaced with the directory location and page number
        
    'main_url'                 => 'http://localhost/No Limits Drones/album.php?q=%PATH%',
        
    'images_url'               => 'http://localhost/No Limits Drones/images/gallery/foto',
        
    'cache_url'                => 'http://localhost/No Limits Drones/images/gallery/cache',

        
    // Sorting settings (optional)
        
    'dir_sort_by'              => 3// 1 = filename, 2 = extension (dir), 3 = inode change time of file
        
    'dir_sort_order'           => false// true = ascending, false = descending

        
    'img_sort_by'              => 3// 1 = filename, 2 = extension (png, gif, etc.), 3 = inode change time of file
        
    'img_sort_order'           => false// true = ascending, false = descending

        // Thumbnail settings (optional)
        
    'thumbs_per_page'          => 16// Amount of thumbnails per page
        
    'max_thumb_row'            => 4// Amount of thumbnails on a row
        
    'max_thumb_width'          => 100// Maximum width of thumbnail
        
    'max_thumb_height'         => 100// Maximum height of thumbnail

        // Time settings (optional)
        
    'time_format'              => 'F jS, Y'// Date formatting. Look at the PHP date() for help: [url]http://nl3.php.net/manual/en/function.date.php[/url]
        
    'time_zone'                => 0// Timezone. Example: 1
        
    'enable_dst'               => false// Daylight saving time (DST). Set this to true to enable it.

        // Misc settings (optional)
        
    'ignore_port'              => false// Ignore port in url. Set this to true to ignore the port.
        
    'dir_thumbs'               => true// Show a thumbnail in a category box. Default is false.
        
    'random_thumbs'            => false// Use random thumbnails for categories. Default is false.
        
    'read_thumb_limit'         => 0// See README for information about this setting.
        
    'filesize_limit'           => 4069 // Filesize limit in kilobytes (4MB). Exclude images that are bigger than the filesize limit.
        
    );

    // Start the class
    $gallery = new imgbrowz0r($config);

    // XHTML stuff
    ?>


    <?php

    // Prepare everything. This function must be called before
    // you call other functions. (required)
    $gallery->init();

    // Generate navigation and statistics. (optional, but remommended)
    // The output of the functions are now assigned to variabled, but
    // you can also call the functions directly.
    $gallery_breadcrumbs $gallery->breadcrumbs();
    $gallery_pagination $gallery->pagination();

    // Display description of the current directory. (optional)
    echo $gallery->description();

    // Display navigation
    echo '<div class="imgbrowz0r-navigation">'"\n\t"$gallery_breadcrumbs"\n"'</div>'"\n\n";

    // Display images and directories. (required)
    echo $gallery->browse();

    // Display navigation
    echo '<div class="imgbrowz0r-navigation">'"\n\t"$gallery_pagination"\n"'</div>'"\n\n";


    ?>

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.