Visualizzazione dei risultati da 1 a 6 su 6

Hybrid View

  1. #1
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Hai provato un semplice
    print_r($_FILES);
    per vedere cosa stampa?

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2014
    Messaggi
    194
    Sì, ho fatto una stampa e mi restituisce i dati corretti. Anche se non ho capito cosa non funzionasse prima ho fatto un passo oltre e sono riuscito a fare un array-combine tra id e files.
    Il problema che non avevo considerato è che un file ha diversi attributi mentre l'id solo uno.
    Mi si presenta quindi un problemino non indifferente. Per poter aprire e leggere il mio file (fopen, fread) ho bisogno di mettere in array $_FILES['modifica']['tmp_name'], in questa maniera mi perdo ad esempio il nome del file che diventa array (ecco perchè vedevo solo scritti array).
    Il problema è che ho basato la ricostruzione della mia immagine estrapolandone il nome e l'estensione.

    Vi viene in mente un modo per combinare ulteriormente gli array e ricavare i restanti attributi?
    Posto il codice interessato:

    Codice PHP:
    <!DOCTYPE html>
    <html lang="it">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    </head>
    <body onload="document.forms[0].submit();">

    <?php

    $key
    =$_POST['key'];
    if (
    $key==1)
    {
            include 
    '../db/connessione.php';
            
            
    $id $_POST['id'];
            
    $percorsothumb '../images/thumbs/galleria/';
            
    $percorsoimg '../images/galleria/';
            
    $nomeimg $_FILES['userFile']['name'];
            
    $estensione end((explode(".",$nomeimg)));
            
    $alt $_FILES['userFile']['name'];
            
    $categoria teatro;
            
            
            
            
            
    //se sto caricando una nuova foto
            
    if (!empty($_FILES['userFile']['type']))
            {
                        
    //controllo se l'estensione è supportata
                        
    if (!preg_match'/gif|png|jpeg|jpg/'$estensione))
                        {echo (
    '<h1>Errore</h1><br/><h3>estensione ' $_FILES['userFile']['type'] . ' non suportata</h3>');
                        die;}
                
                        
    $handle fopen ($_FILES['userFile']['tmp_name'], "r") or die ('<h1>Errore</h1><br/><h3>impossibile aprire il file</h3>');
                        
    $image fread ($handlefilesize($_FILES['userFile']['tmp_name'])) or die('<h1>Errore</h1><br/><h3>impossibile leggere il file</h3>');
                        
    fclose ($handle);
            
                        
    //ridimensiono l'immagine
                        
    include'../db/resize2.php';
            
                        
    $handle fopen ("$percorsothumb$nomeimg""r") or die ('impossibile aprire il file thumb');
                        
    $thumb fread ($handlefilesize("$percorsothumb$nomeimg")) or die('impossibile leggere il file');
                        
    fclose ($handle);
            
                        
    $image mysql_real_escape_string($image);
                        
    $thumb mysql_real_escape_string($thumb);
                        
                        
    //inserisco la foto nel database
                        
    $query 'INSERT INTO galleria (immagine,alt,type,thumb,categoria) VALUES ("' $image '","' $alt '","' $_FILES['userFile']['type'] . '","' $thumb '","' $categoria '")';
                        
    $result mysql_query($query);
                        
                        
    //se ci sono errori mi fermo se no..
                        
    if (!$result) {die("Errore:" mysql_error());}
                        else { 
                                
    //se si stanno aggiornano
                                
    if (isset($_FILES['modifica']))
                                {
                                    
    //creo un array
                                    
    $array array_combine($id$_FILES['modifica']['tmp_name']);
                                    
                                    
    ///faccio un ciclo delle immagini presenti
                                    
    foreach ($array as $id => $_FILES['modifica']['tmp_name'])
                                    {
                                
                                        if (!empty(
    $_FILES['modifica']['tmp_name']))
                                        {
                                            
    $handle fopen ($_FILES['modifica']['tmp_name'], "r") or die ('<h1>Errore</h1><br/><h3>impossibile aprire il file</h3>');
                                            
    $modifica fread ($handlefilesize($_FILES['modifica']['tmp_name'])) or die('<h1>Errore</h1><br/><h3>impossibile leggere il file</h3>');
                                            
    fclose ($handle);
                                            
    $modifica mysql_real_escape_string($modifica);
                                        
                                            
    $altmod $_FILES['modifica']['name'];
                                            
    $type $_FILES['modifica']['type'];
                                            
    $nomeimgmod $_FILES['modifica']['name'];
                                            
    $estensionemod end((explode(".",$nomeimgmod)));
                                        
                                        
                                    
                                            
    //ridimensiono l'immagine
                                            
    include'../db/resizemod.php';
            
                                            
    $handle fopen ("$percorsothumb$nomeimgmod""r") or die ('impossibile aprire il file thumb');
                                            
    $thumb fread ($handlefilesize("$percorsothumb$nomeimgmod")) or die('impossibile leggere il file thumb');
                                            
    fclose ($handle);
            
                                            
    $image mysql_real_escape_string($image);
                                            
    $thumb mysql_real_escape_string($thumb);
                                        
                                            
    //..aggiorno il database
                                            
    $query "UPDATE galleria SET
                                            immagine = '" 
    $image "',
                                            alt = '" 
    $altmod "',
                                            type = '" 
    $type "',
                                            thumb = '" 
    $thumb "',
                                            categoria = '" 
    $categoria "'
                                            WHERE id=
    $id";
                                            
    $result mysql_query($query);
                                            if (!
    $result) {die("Errore:" mysql_error());}
                                            else{
                                                    
    ?>
                                                    <form action="../teatro.php?modifica" method="post">
                                                    <input type="hidden" name="var1" value="entra">
                                                    </form>
                                                    <?php
                                                
    };
                                    
                                        } else {
                                                    
    ?>
                                                    <form action="../teatro.php?modifica" method="post">
                                                    <input type="hidden" name="var1" value="entra">
                                                    </form>
                                                    <?php
                                                
    };
                                    };
                                }    else{
                                            
    ?>
                                            <form action="../teatro.php?modifica" method="post">
                                            <input type="hidden" name="var1" value="entra">
                                            </form>
                                            <?php
                                        
    };
                            };    
                                    

            
    //se non sto caricando una nuova foto
            
    } else echo 'da continuare...';
                exit;
            
            
            
            
            
            
            
    //controllo se ci sono aggiornamenti
            
            //se ci sono..
            
            //..aggiorno il database
            
            
            
            
            
        
                    
                                    
                        
                    
    } else {header("location: ../amministra.php?errore=1");}
    ?>

    </body>
    </html>
    Mi rimangono fuori queste variabili che non so come ricavare:

    $altmod = $_FILES['modifica']['name'];
    $type = $_FILES['modifica']['type'];
    $nomeimgmod = $_FILES['modifica']['name'];
    $estensionemod = end((explode(".",$nomeimgmod)));

    Grazie

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.