Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 22
  1. #11
    quell'errore compare perchè sono sbagliate le chiavi dell'array $acceptType.

    $_FILES['file']['type'][$i] restituisce il MIME type, che ad esempio nel caso della PNG, è:

    image/png

    dunque non trova corrispondenza nell'array; devi modificarlo in qualcosa come:

    Codice PHP:
    $acceptType = array(//tipi di file accettati, in questo caso solo immagini
        
    'image/png',
        [...]
    ); 

  2. #12
    si però senza tutta la parte di inserimento di dati nel db funzionava.
    secondo il problema è proprio la query.

    visto che la query nn è obbligatoria ma una cosa in più, se io la levassi e lasciassi il form di caricamento, poi c'è un modo per visualizzare tutte le immagini nella pagina di visualizzazione senza mettere tutti i link a mano??

  3. #13
    certo, sarebbe sufficiente leggere i file immagini nelle directory in cui le hai caricate, non è un problema:
    Codice PHP:
    $Directory  "/images/";
    if(
    is_dir($Directory))
    {
        
    $dir opendir($Directory);
        
        while(
    false !== ($file readdir($dir)))
        {
            
    $type filetype($Directory ."/"$file);    
            
    $size filesize($Directory ."/"$file);
            echo 
    "$file | $type | $size \n";
        }
        
    closedir($dir);
        
    }
    else
    {
        echo 
    $Directory " non è una directory";

    Potresti anche leggere i file e inserire successivamente i dati che ti servono nel db: chiaramente dipende da cosa devi fare. Però visto così non mi pare che il problema sia nella query...

  4. #14
    allora subito dopo pranzo faccio delle prove e ti dico.
    intanto grazie per l'aiuto!!

  5. #15
    senza query funziona tutto:
    Codice PHP:
    <?php

    include_once 'link.html';
    include_once 
    'config.php';
    $maxSize 50//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

    for ($i 0$i count($_FILES['file']['name']); $i++) {
        echo 
    "Risultato file " . ($i 1) . ": " singleUpload($i$cartella$maxSize$acceptType) . "
    "
    ;
    }

    function 
    singleUpload($i$cartella$maxSize$acceptType) {

        if (
    $_FILES['file']['name'][$i] != "") {
            
    $destinazione $cartella basename($_FILES['file']['name'][$i]);
            if (
    $_FILES['file']['size'][$i] <= $maxSize 1024) {
                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['go'])) {
            return 
    "Nessun file inserito!";
        }
    }
    ?>
    ho anche provato a fare l'upload di file sconosciuti.
    l'unica cosa che manca è un controllo se esiste già un file con lo stesso nome.

    a questo punto visto che il db era una cosa in più lo posso anche levare.
    in fondo nn mi serve a nulla.

  6. #16
    Originariamente inviato da fermat
    l'unica cosa che manca è un controllo se esiste già un file con lo stesso nome.
    puoi decidere se sovrascrivere in automatico il file, oppure utilizzare la funzione file_exists() per decidere un altro tipo di comportamento

  7. #17
    si si ho visto in giro.
    lo metterò in quel if insieme altre condizioni da soddisfare.

    senti scusami visto che ci sono.
    ho provato a usare questo codice e nn ho capito se questo basta per vedere le foto o devo mettere altro.
    Codice PHP:
            <?php
            
    include_once 'link.html';
            
    $directory "images/album";
            if (
    is_dir($directory)) {
                
    $dir opendir($directory);
                while (
    false !== ($file readdir($dir))) {
                    
    $type filetype($directory "/" $file);
                    
    $size filesize($directory "/" $file);
                    echo 
    "$file | $type | $size \n";
                }
                
    closedir($dir);
            } else {
                echo 
    $directory " non è una directory";
            }
            
    ?>
    perchè così a me compare questo sulla pagina:
    codice:
    . | dir | 1024 .. | dir | 1024 Rodi 1.JPG | file | 429407 Circeo.JPG | file | 604497 Acropoli.JPG | file | 959779 Monte Circeo.JPG | file | 369493 Onda su citta'.JPG | file | 142022 Rodi 3.JPG | file | 578789 Ponti.JPG | file | 109786 Rodi 2.JPG | file | 450302 Cascate.JPG | file | 195592 Montagne Innevate.JPG | file | 138079

  8. #18
    al posto di questo linea:

    Codice PHP:
     echo "$file | $type | $size \n"
    puoi mettere il codice che ti serve per il tuo scopo. Puoi ad esempio salvare i nomi dei file ($file) in un array che puoi utilizzare in un secondo momento, oppure puoi direttamente inserire il codice HTML per la visualizzazione dell'immagine:

    Codice PHP:
    echo <<<HTML

    <div>
    [img]percorso_completo_directory_immagini/
    $file[/img] 
    </div>

    <<<HTML; 
    dipende da come è strutturato il codice e la pagina!

  9. #19
    sto usando questo:
    Codice PHP:
            <?php
            
    include_once 'link.html';
            
    $directory "images/album";
            if (
    is_dir($directory)) {
                
    $dir opendir($directory);
                while (
    false !== ($file readdir($dir))) {
     echo <<<
    HTML           
     
    [img]percorso_completo_directory_immagini/$file[/img]
    HTML;
                }
                
    closedir($dir);
            } else {
                echo 
    $directory " non è una directory";
            }
            
    ?>
    ho levato un pò di roba che nn mi serviva.
    solo che prima delle immagini mi mette sempre
    . ..

    è possibile fargli saltare i puntini?

  10. #20
    certo

    Codice PHP:
    $exclude = array(".""..");
     while (
    false !== ($file readdir($dir)) &&  ) {  
     if (!
    in_array($file$exclude)) {
       [...]
     }


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.