Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16

Discussione: Problema upload in php

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    181

    Problema upload in php

    Salve,ho creato un file php per l'upload di file,ecco il codice:
    Codice PHP:
    <?php

    include 'dbc.php';


    $dimensione_massima=10240//dimensione massima consentita per file in byte -> 1024 byte = 1 Kb
    $dimensione_massima_Kb=$dimensione_massima/1024;

    // percorso cartella relativo $cartella_upload="../public/";
    $filtrare=1//filtrare x estensioni ammesse? 1=si 0=no
    $array_estensioni_ammesse=array('.zip','.rar'); //estensioni ammesse

    $savgn $data['savename'];
    $region $data['region'];
    $description $data['description'];
    $username $data['username'];
    $dlc $data['dlc'];
    $trof=$data['trof'];
    $trofei $data['trofei'];
    $cartella_upload="/public_html/sgfoldup/".$username;//cartella in cui eseguire l'upload (controllare permessi scrittura)
    $file_path="/public_html/sgfoldup/".$username."/".$data['upfile']; 
    $errorecomp=0

    if(
    file_exists($cartella_upload)==false)
     
    Mkdir($cartella_upload0700,true);

    if(
    $savgn=='' || $description=='' || $username==''  || is_int($trofei)==false || $savgn>=255 || $region>=20 || $description>=255 || $username>=16 || $trofei>=100){
       echo(
    'Check Field');
       
    $errorecomp+=1
       }
    else if(
    $errorecomp==){
    if(!isset(
    $_FILES['upfile']) || $_FILES['upfile']['size']==0){
        echo 
    "No file selected";
    }else if(
    $_FILES['upfile']['size']>$dimensione_massima){
        echo 
    "The file is too large $dimensione_massima_Kb Kb";
    }else{
        
    $nome_file=$_FILES['upfile']['name'];
        
    $errore="";
        if(
    $filtrare==1){
            
    $estensione strtolower(substr($nome_filestrrpos($nome_file"."), strlen($nome_file)-strrpos($nome_file".")));
            if(!
    in_array($estensione,$array_estensioni_ammesse)){
                
    $errore.="File not accepted. Permitted extensions: ".implode(", ",$array_estensioni_ammesse)."
    "
    ;
            }
        }
        if(!
    file_exists($cartella_upload)){
            
    $errore.="The folder doesn't exist</br>";
        }
        
        if(
    $errore==""){
            if(
    move_uploaded_file($_FILES['upfile']['tmp_name'], $cartella_upload.$_FILES['upfile']['name'])){
                
    chmod($cartella_upload.$_FILES['upfile']['name'],0777); //permessi per poterci sovrascrivere/scaricare
                
    echo "Upload successful.";
                
    //aggiunta al database
                
    if($trof=='si'){
                
    $sql_insert "INSERT into `savegame`
                  (`savename`,`username`,`description`,`region`,`pathsave`,`dlc`,`trof`,`trofei`,`date`,`users_ip`)
                VALUES
                ('
    $savgn','$username','$description','$region','$file_path','$dlc','$trof','$trofei',now(),'$user_ip')";}
                else if(
    $trof=='no'){
                
    $sql_insert "INSERT into `savegame`
                  (`savename`,`username`,`description`,`region`,`pathsave`,`dlc`,`trof`,`date`,`users_ip`)
                VALUES
                ('
    $savgn','$username','$description','$region','$file_path','$dlc','$trof',now(),'$user_ip')";}
                }
            }else{
                echo 
    "Unable to upload file";
            }
        }
        if(
    $errore!=''){
            echo 
    $errore;
        }
    }

    ?>
    All'inizio mi diceva che la funzione mkdir era stata bloccata(denied permission),dopo ho settato i parametri d'aacesso alle cartelle così:
    sgfoldup:776
    e quella pubblica:772
    e ora mi dice così:
    codice:
    The server encountered an internal error or misconfiguration and was unable to complete your request.
    
    Please contact the server administrator, no-reply@x10hosting.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.
    
    More information about this error may be available in the server error log.
    
    Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
    Qualcuno sa aiutarmi?
    Grazie.

  2. #2
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    else if($_FILES['file1']['size']>$dimensione_massima){

    non si chiamava upfile???? come mai file1???

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    181
    Oops,hai ragione,ho corretto,ma la situazione non cambia...

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    181
    Può essere dovuto ad un problema interno del server(x10hosting)?

  5. #5
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,592
    win o linux?
    sotto win non puoi gestire i chmod..
    SEMBRA che sei sotto win, però posso sbagliare..
    lo dico perchè il commento
    // percorso cartella relativo $cartella_upload="../public/";
    public è la tipica cartella "scrivibile" di win..

    però invece la cartella dove eseguire l'upload è
    $cartella_upload="/public_html/sgfoldup/".$username;

    un'altra cosa:
    if(file_exists($cartella_upload)==false)
    per controllare che esista una cartella si usa is_dir, non file_exists..

    vedi se posso esserti stato di aiuto

  6. #6
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    e in genere non si fa booleano==false ma si fa !booleano

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    181
    Essendo il mio un sito di upload e download di salvataggi caricati da utenti ho deciso di gestirli un po' meglio inserendoli in cartelle che hanno lo stesso nome dell'utente,quindi guardo se la cartella esiste già e al massimo la creo.
    Per i permessi,sinceramente non essendo un esperto non posso dirti molto,ma se faccio click destro sulla cartella appare un menù nel quale c'è anche "change permission"...

  8. #8
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,592
    ..cioè non sai se è win o linux..
    per la cartella username non mi preoccupavo di quello, ma del fatto che provi a creare dentro
    public_html, e non dentro public.. però immagino si chiami così.. e immagino non l'hai creata te.. e immagino sia WIN..

    il fatto che il tuo client FTP ti faccia fare col tasto destro "change permission" è normale.. il fatto che poi le cambi davvero è un'altra cosa..

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    181
    il sito è strutturato così:
    (/home/oxoc)
    access-logs
    etc
    mail
    public_ftp
    public_html
    tmp
    www
    I file io li ho piazzati in public_html,ora provo in public_ftp...

  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    181
    Mi sono arreso,la creo più le sottocartelle..tuttavia ora mi compare un altro errore..
    Codice modificato:
    Codice PHP:
    <?php

    include 'dbc.php';


    $dimensione_massima=10485760//dimensione massima consentita per file in byte -> 1024 byte = 1 Kb
    $dimensione_massima_Kb=$dimensione_massima/1024;

    // percorso cartella relativo $cartella_upload="../public/";
    $filtrare=1//filtrare x estensioni ammesse? 1=si 0=no
    $array_estensioni_ammesse=array('.zip','.rar'); //estensioni ammesse

    $savgn $_POST['savename'];
    $region =$_POST['region'];
    $description $_POST['description'];
    $username $_POST['username'];
    $dlc $_POST['dlc'];
    $trof$_POST['trof'];
    $trofei $_POST['trofei'];
    //$cartella_upload="/sgfoldup/".$username;//cartella in cui eseguire l'upload (controllare permessi scrittura)
    //$file_path="/public_ftp/sgfoldup/".$username."/".$_POST['upfile']; 
    $errorecomp=0

    $cartella_upload="sgfoldup";//cartella in cui eseguire l'upload (controllare permessi scrittura)
    $file_path="sgfoldup/".$_POST['upfile']; 
    /*if(is_dir($cartella_upload)==false)
     Mkdir($cartella_upload, 0755,true);*/


    if($savgn==''|| $savgn>=255){
       echo(
    'Check savename');
       
    $errorecomp+=1
       }
    else if(
    $description =='' || $description>=255){
       echo(
    'Check description');
       
    $errorecomp+=1
       }
    else if( 
    $username=='' || $username>=16){
       echo(
    'Check username');
       
    $errorecomp+=1
       }
    else if(
    $region>=20){
       echo(
    'Check region');
       
    $errorecomp+=1
       }
    else if(
    $trofei=='' || $trofei>=100){
       echo(
    'Check trophy number');
       
    $errorecomp+=1
       }
    else if(
    $dlc==''){
       echo(
    'Check dlc');
       
    $errorecomp+=1
       }
    else if(
    $trof==''){
       echo(
    'Check trophy(yes/no)');
       
    $errorecomp+=1
       }
       
    if(
    $errorecomp==){
    if(!isset(
    $_FILES['upfile']) || $_FILES['upfile']['size']==0){
        echo 
    "No file selected";
    }else if(
    $_FILES['upfile']['size']>$dimensione_massima){
        echo 
    "The file is too large $dimensione_massima_Kb Kb";
    }else{
        
    $nome_file=$_FILES['upfile']['name'];
        
    $errore="";
        if(
    $filtrare==1){
            
    $estensione strtolower(substr($nome_filestrrpos($nome_file"."), strlen($nome_file)-strrpos($nome_file".")));
            if(!
    in_array($estensione,$array_estensioni_ammesse)){
                
    $errore.="File not accepted. Permitted extensions: ".implode(", ",$array_estensioni_ammesse)."
    "
    ;
            }
        }
        if(!
    file_exists($cartella_upload)){
            
    $errore.=" The folder doesn't exist</br>";
        }
        
        if(
    $errore==""){
               
    // move_uploaded_file( $_FILES['upfile']["tmp_name"],'$cartella_upload/' );-->errore
            
    if(move_uploaded_file($_FILES['upfile']['tmp_name'], $cartella_upload)){//-->errore
                
    chmod($cartella_upload.$_FILES['upfile']['name'],0644); //permessi per poterci sovrascrivere/scaricare
                
    echo "Upload successful.";
                
    //aggiunta al database
                
    if($trof=='si'){
                
    $sql_insert "INSERT into `savegame`
                  (`savename`,`username`,`description`,`region`,`pathsave`,`dlc`,`trof`,`trofei`,`date`,`users_ip`)
                VALUES
                ('
    $savgn','$username','$description','$region','$file_path','$dlc','$trof','$trofei',now(),'$user_ip')";}
                else if(
    $trof=='no'){
                
    $sql_insert "INSERT into `savegame`
                  (`savename`,`username`,`description`,`region`,`pathsave`,`dlc`,`trof`,`date`,`users_ip`)
                VALUES
                ('
    $savgn','$username','$description','$region','$file_path','$dlc','$trof',now(),'$user_ip')";
                
    header('Location: [url]http://farebury.exofire.net/Upload.html[/url]');
                }
                }
            }else{
                echo 
    "Unable to upload file";
            }
        }
        if(
    $errore!=''){
            echo 
    $errore;
        }
    }

    ?>
    e questo è l'errore:
    codice:
    Warning: move_uploaded_file($cartella_upload/) [function.move-uploaded-file]: failed to open stream: Is a directory in /home/oxoc/public_html/upload.php on line 78
    
    Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpWfZ4MF' to '$cartella_upload/' in /home/oxoc/public_html/upload.php on line 78
    
    Warning: move_uploaded_file(sgfoldup) [function.move-uploaded-file]: failed to open stream: Is a directory in /home/oxoc/public_html/upload.php on line 79
    
    Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpWfZ4MF' to 'sgfoldup' in /home/oxoc/public_html/upload.php on line 79

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.