Visualizzazione dei risultati da 1 a 7 su 7

Discussione: problema multiupload

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    28

    problema multiupload

    salve ragazzi sto creando questa pagina ma non funziona

    dovrebbe inviare non solo le cose scritte nei campi di input nel database ma anche aggiungere le immagini nella directory

    questo è il codice grazie in anticipo dell'aiuto che mi darete
    Codice PHP:
    <form action="upload.php?action=invia" method="POST" enctype="multipart/form-data" name="upload_form">


    [b]Titolo : [/b]<input type="text" name="titolo"></p></br>


    [b]Prezzo : [/b]<input type="text" name="prezzo"></p></br>


    [b]Descrizione : [/b]<input type="text" name="descrizione"></p></br>



    <?
    // form multipload
    $multiupload $_POST['multiupload'];
    for(
    $x=0;$x<$multiupload;$x++){
    ?>
    <input name="multiupload<? echo $x;?>" type="file" id="multiupload<? echo $x;?>">
    </p>
    <?
    }
    ?>


    <input name="multiupload" type="hidden" value="<? echo $multiupload;?>"></p>
    <input type="submit" name="submit" value="invia">
    </form>

    <?php
    //variabili
    $db_server 'localhost';
    $db_name '***';
    $db_user '***';
    $db_pass '***';
    $table 'case';
    $table_images 'immagini';

    //mi connetto al database
    $connect mysql_connect($db_server,$db_user,$db_pass) or die('Non puoi connetterti: ' mysql_error());
    $db mysql_select_db($db_name,$connect) or die ('Impossibile connetterti: ' mysql_error()); 

    //upload "annuncio"
    //variabili
    $submit = ($_POST['submit']);
    $title = ($_POST['titolo']);
    $desc = ($_POST['descrizione']);
    $prezzo = ($_POST['prezzo']);
    $image1 $_POST['immagine 1'];
    $image2 $_POST['immagine 2'];
    $image3 $_POST['immagine 3'];
    $image4 $_POST['immagine 4'];
    $image5 $_POST['immagine 5'];

    //variabili formattate
    $title_format htmlspecialchars($title);
    $desc_format htmlspecialchars($desc);
    $prezzo_format htmlspecialchars($prezzo);
    $title_format addslashes($title_format);
    $desc_format addslashes($desc_format);
    $prezzo_format addslashes($prezzo_format);

    //invio dati
    if($submit){
        if(
    $title == "" || $desc == "" || $prezzo == ""){
            echo 
    "Tutti i campi sono obbligatori!
    "
    ;
            }else{
                if(
    preg_match("/^[a-zA-Z0-9!.:,;']*$/i"$title)){
                    if(
    preg_match("/^[a-zA-Z0-9!.:,;'\?]*$/i"$desc)){
                        if(
    preg_match("/^[0-9]*[€]+$/i"$prezzo)){
                            if(
    $title == "" || $desc == "" || $prezzo == ""){
                                echo 
    "Tutti i campi sono obbligatori!
    "
    ;
                                }else{
                                    
    $insert "INSERT INTO $db_name.$table (titolo,prezzo,descrizione) VALUES ('".mysql_real_escape_string($title_format)."','".mysql_real_escape_string($prezzo_format)."','".mysql_real_escape_string($desc_format)."')";
                                    
    $result_insert mysql_query($insert ,$connect);
                                    for(
    $x=0;$x<$uploadNeed;$x++){
    $file_name $_FILES['multiupload'$x]['name'];
    // strip file_name of slashes
    $file_name stripslashes($file_name);
    $file_name str_replace("'","",$file_name);
    $copy copy($_FILES['multiupload'$x]['tmp_name'],$file_name);
     do{if (
    is_uploaded_file($_FILES['multiupload'$x]['tmp_name'])) {
        
    // Controllo che il file non superi i 18 KB
        
    if ($_FILES['multiupload'$x]['size'] > 18432) {
          echo 
    "

    Il file non deve superare i 18 KB!!</p>"
    ;
        }
        
    // Ottengo le informazioni sull'immagine
        
    list($width$height$type$attr) = getimagesize($_FILES['multiupload'$x]['tmp_name']);
        
    // Controllo che il file sia in uno dei formati GIF, JPG o PNG
        
    if (($type!=1) && ($type!=2) && ($type!=3)) {
          echo 
    "

    Formato non corretto!! Sono supportati i formati: .jpg .png .gif</p>"
    ;
        }
        
    // Verifico che sul sul server non esista già un file con lo stesso nome
        // In alternativa potrei dare io un nome che sia funzione della data e dell'ora
        
    if (file_exists('/7case/immobili/'.$_FILES['multiupload'$x]['name'])) {
          echo 
    "

    File già esistente sul server. Rinominarlo e riprovare.</p>"
    ;
        }
        
    // Sposto il file nella cartella da me desiderata
        
    if (!move_uploaded_file($_FILES['multiupload'$x]['tmp_name'], '/7case/immobili/'.$_FILES['multiupload'$x][$image_name 'name'])) {
          echo 
    "

    Errore nel caricamento dell'immagine!!</p>"
    ;
        } 
         }
     }
    while (
    false);
    }
                                    }
                                    }else{
                                        echo 
    'Il campo prezzo deve contenere caratteri alfanumerici da "0" a "9" e obbligatoriamente il simbolo "€"
    '
    ;
                                        }
                                        }else{
                                            echo 
    'Il campo descrizione deve contenere caratteri da "a" a "z" e/o caratteri alfanumerici da "0" a "9"
    '
    ;    
                                            }
                                            }else{
                                                echo 
    'Il campo titolo deve contenere caratteri da "a" a "z" e/o caratteri alfanumerici da "0" a "9"
    '
    ;
                                                }
                                                }
                                                }

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    52
    $uploadNeed dove è dichiarata?

    aggiungo
    prova a non usare i tag abbreviati.

    aggiungo:

    $image1 = $_POST['immagine 1']; ?? immagine 1 da dove lo prende? E i nomi se non erro non possono contenere spazi.

    Codice PHP:
    do{if (is_uploaded_file($_FILES['multiupload'$x]['tmp_name'])) { // Controllo che il file non superi i 18 KB if ($_FILES['multiupload'. $x]['size'] > 18432) { echo "

    Il file non deve superare i 18 KB!!</p>"; } // Ottengo le informazioni sull'immagine list($width$height$type$attr) = getimagesize($_FILES['multiupload'. $x]['tmp_name']); // Controllo che il file sia in uno dei formati GIF, JPG o PNG if (($type!=1) && ($type!=2) && ($type!=3)) { echo "

    Formato non corretto!! Sono supportati i formati: .jpg .png .gif</p>"; } // Verifico che sul sul server non esista già un file con lo stesso nome // In alternativa potrei dare io un nome che sia funzione della data e dell'ora if (file_exists('/7case/immobili/'.$_FILES['multiupload'. $x]['name'])) { echo "

    File già esistente sul serverRinominarlo e riprovare.</p>"; } // Sposto il file nella cartella da me desiderata if (!move_uploaded_file($_FILES['multiupload'. $x]['tmp_name'], '/7case/immobili/'.$_FILES['multiupload'. $x][$image_name = 'name'])) { echo "

    Errore nel caricamento dell'immagine!!</p>"; } } } while (false); 
    do...while(false) ? non sarà infinito? devi aggiungere un break da qualche parte.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    28
    ragazzi ho provato e ritentato ma non ci riesco mi esce sempre l'errore del

    $file_name | errore di upload

    aiutatemi vi prego questo è il codice dell'invio delle immagini... l'errore in questo caso dovrebbe trovarsi a questo punto nel

    $copy = ImageJpeg($dst_img,"7case/immobili/",100);

    aiutatemi vi prego eccovi tutto il codice

    Codice PHP:
    $uploadNeed $_POST['uploadNeed'];
    for(
    $x=0;$x<$uploadNeed;$x++){
    $file_name $_FILES['uploadFile'$x]['name'];
    $file_name stripslashes($file_name);
    $file_name str_replace("'","",$file_name);
    if(
    $_FILES['uploadFile'.$x]['size'] > 500432){
        echo 
    "$file_name | il file è maggiore di 500 KB";
        }else{
             if ((
    strstr($_FILES['uploadFile'.$x]['type'],"jpeg") || strstr($_FILES['type']['tmp_name'],"jpg"))) {}
             
    $path_to_img=$_FILES['uploadFile'.$x]['tmp_name'];
             if(
    $path_to_img){}else{echo "errore path_to_img";}
             
    $imagehw getimagesize($path_to_img);
             if(
    $imagehw){}else{echo "imagehw
    "
    ;}
             
    $final_width=800;
             
    $final_height=(800*$imagehw[1])/$imagehw[0];
             if(
    $final_height){}else{echo"errore final_height
    "
    ;}   
             
    $dst_img=imagecreatetruecolor($final_width,$final_height);
             if(
    $dst_img){}else{echo "errore dst_img
    "
    ;}
             
    $src_img=imagecreatefromjpeg($path_to_img); 
             if(
    $src_img){}else{echo "errore src_img
    "
    ;}
             
    $ImageCopyResampled imagecopyresampled($dst_img,$src_img,0,0,0,0,$final_width,$final_height,imagesx($src_img),imagesy($src_img));
             if(
    $ImageCopyResampled){}else{echo "errore ImageCopyResampled
    "
    ;}
                    
    $copy ImageJpeg($dst_img,"7case/immobili/",100);    
                              
    //$copy = copy($_FILES['uploadFile'. $x]['tmp_name'],$file_name);
                            
    if($copy){
                                echo 
    "$file_name | upload avvenuto con successo!
    "
    ;
                                }else{
                                    echo 
    "$file_name | errore di upload!
    "
    ;
                                    }    


  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    28
    up

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    28
    Codice PHP:
    $uploadNeed $_POST['uploadNeed'];
    for(
    $x=0;$x<$uploadNeed;$x++){
    $file_name $_FILES['uploadFile'$x]['name'];
    $file_name stripslashes($file_name);
    $file_name str_replace("'","",$file_name);
    if(
    $_FILES['uploadFile'.$x]['size'] > 500432){
        echo 
    "$file_name | il file è maggiore di 500 KB";
        }else{
             if ((
    strstr($_FILES['uploadFile'.$x]['type'],"jpeg") || strstr($_FILES['type']['tmp_name'],"jpg"))) {}
             
    $path_to_img=$_FILES['uploadFile'.$x]['tmp_name'];
             if(
    $path_to_img){}else{echo "errore path_to_img";}
             
    $imagehw getimagesize($path_to_img);
             if(
    $imagehw){}else{echo "imagehw
    "
    ;}
             
    $final_width=800;
             
    $final_height=(800*$imagehw[1])/$imagehw[0];
             if(
    $final_height){}else{echo"errore final_height
    "
    ;}   
             
    $dst_img=imagecreatetruecolor($final_width,$final_height);
             if(
    $dst_img){}else{echo "errore dst_img
    "
    ;}
             
    $src_img=imagecreatefromjpeg($path_to_img); 
             if(
    $src_img){}else{echo "errore src_img
    "
    ;}
             
    $ImageCopyResampled imagecopyresampled($dst_img,$src_img,0,0,0,0,$final_width,$final_height,imagesx($src_img),imagesy($src_img));
             if(
    $ImageCopyResampled){}else{echo "errore ImageCopyResampled
    "
    ;}
                    
    $copy imagejpeg($dst_img,"7case/immobili/",100);    
                              
    //$copy = copy($_FILES['uploadFile'. $x]['tmp_name'],$file_name);
                            
    if($copy){
                                echo 
    "$file_name | upload avvenuto con successo!
    "
    ;
                                }else{
                                    echo 
    "$file_name | errore di upload!
    "
    ;
                                    }    

    Che ne dite mi aiutate?? per favore vi ringrazio anticipatamente...

  6. #6
    Utente di HTML.it L'avatar di Luke70
    Registrato dal
    Jul 1999
    Messaggi
    767
    Scusami, ma non ho capito quale codice stai usando: ne hai postati 2 diversi
    Quale ti da errore?
    Hai attivato la visualizzazione degli errori? Magari così capiamo meglio: il tuo errore (nel secondo codice) è un messaggio settato da te, ma non da molte info.

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    28
    si l'errore si riferisce al secondo codice...allora nella variabile $copy li ho un errore e non mi da nessun altro errore solo errore di upload...come da me settato con la if...come potrei fare per inviare l'immagine ridimensionata in quel path??

    grazie mille dell'aiuto...

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 © 2024 vBulletin Solutions, Inc. All rights reserved.