Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    upload file di grandi dimensioni su server aruba

    Ciao, espongo subito il mio problema.

    Devo caricare file di grandi dimensioni (anche 100M) tramite un semplice form su un server aruba con hosting linux.
    Con il form si seleziona il file da caricare, si invia il form ad una pagina php con un passaggio di variabili POST, la pagina php copia il file sul server e scrive un xml che tiene traccia di tutti i file caricati.

    Ho caricato file fino a 21M senza alcun problema, tutto funziona, il problema l'ho riscontrato quando ho voluto caricare 36M.
    Il fatto è che la pagina php non restituisce nessun errore, viene eseguita come se tutto fosse andato a buon fine, ma guardando nel server il file caricato non c'è e il file xml non è stato scritto.

    Ho provato a cambiare i valori dei vari paremetri memory_limit, upload_max_filesize, max_... tramite .htaccess, ma non è cambiato niente.

    Posto anche il codice:

    il form
    Codice PHP:
    <form action="upload_traccia.php" method="post" enctype="multipart/form-data">
        <input name="traccia" type="file" id="traccia" />
        <input name="art" type="hidden" id="art" value="<?php echo $id;?>" />
        <input type="submit" name="invia" id="invia" value="Invia" />
    </form>

    la pagina php
    Codice PHP:
    <?php

    //intercetto le variabili
    $art $_POST['art'];

    //COPIO TRACCIA

    //copio icona1
    if ($_FILES["traccia"]["error"] > 0){
        
    //echo "Codice Errore: " . $_FILES["ico"]["error"]."
    ";
    }else{
        //controllo se il file esiste già sul server
        
    $zonta1 = "";
        while (file_exists( 'tracce/'.
    $art.'/'.$zonta1.$_FILES["traccia"]["name"])){
            //setto la zonta
            if(
    $zonta1 == ""){
                
    $zonta1 = 1;
            }else{
                
    $zonta1++;
            }        
        }
        //sposto il file caricato dalla cartella temporanea alla destinazione finale
        move_uploaded_file(
    $_FILES["traccia"]["tmp_name"], 'tracce/'.$art.'/'.$zonta1.$_FILES["traccia"]["name"]);
    }


    //apro l'rss per leggere l'id
    $filename = 'tracce/index.xml';
    $fp=fopen($filename ,"r");
    $contents = fread($fp, filesize($filename));
    $line = explode("<ele ", $contents);
    $nl = count($line);
    fclose(
    $fp);
         
    //calcolo il prossimo id
    $id=0;
    for (
    $i = 1; $i < $nl$i++) {
        
        //id
        
    $temp = explode('"', $line[$i]);
        $id_temporaneo = $temp[1];
        
        //se l'
    id_temporaneo è maggiore aggiorno
        
    if($id $id_temporaneo){
            
    //aggiorno
            
    $id $id_temporaneo;
        }    
    }
    $id++;

    //ELABORO DATI

    //data
    $dat date('D').", ".date('d M Y H:i:s')." GMT";

    $file_da_scrivere '<ele id="'.$id.'" art="'.$art.'" dat="'.$dat.'">'.$zonta1.$_FILES["traccia"]["name"].'</ele>';


    //scrivo il file xml
    $fp=fopen($filename,"a");
    fwrite($fp,trim($file_da_scrivere));
    fclose($fp);


    ?>

    Qualcuno mi può aiutare?
    Qual è il problema?

  2. #2
    Help, possibile che nessuno abbia mai avuto necessità di caricare grossi file?

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    111
    Ciao pure io ho questo problema... Devo caricare file video di dimensioni che vanno da 20 a più di 60 mb ma per ora se va bene me ne ha caricato 5 mb durante le prove... Sul sito di Aruba ci sono degli script adatti allo scopo ma devo ancora provarli...

    Fammi sapere se li provi io se riesco lo faccio in settimana!

  4. #4
    Il problema penso sia a monte, il limite è impostato sul PHP.ini e non penso si possa far nulla con un semplice hosting

  5. #5

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.