Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074

    Upload file che non funzia

    Ho un problema di upload file...
    Questo è il codice della classe:
    Codice PHP:
    <?PHP
    class UploadFile {
        private 
    $upload_dir;
        private 
    $max_file_size;
        private 
    $files_type;
        private 
    $max_size;
        public function 
    __construct(){
            
    $this->max_size 5242880
            
    $ext_str "pdf,doc,rtf,zip";
            
    $this->files_type explode(",",$ext_str);
        }
        public function 
    upload_file($upload_dir=""$file_name=""){
            if(!
    $_FILES[error])
                foreach(
    $_FILES as $form_name=>$file_arr)
                    
    $this->file $file_arr;
            if(
    $file_name)
                
    $this->name $file_name;
            else
                
    $this->name $this->file['name'];
            if(
    $upload_dir){
                if(
    is_dir($upload_dir))
                    
    $this->upload_dir $upload_dir;
                else
                    return 
    "Invalid Directory!";
            } else
                
    $this->upload_dir "./";        
            
    $ext substr($this->file['name'], strrpos($this->file['name'], '.') + 1);
            if (
    in_array($ext$this->files_type) ) {
                if(
    $this->file['size']<=$this->max_size){
                    if (
    move_uploaded_file($this->file['tmp_name'],$this->upload_dir ."/"$this->name)) {
                        return 
    "File Uploaded!";
                    } else {
                        return 
    "File uploading error!";
                    }
                } else {
                    return 
    "File size should be up to 5 mb!";
                }
            } else {
                return 
    "Invalid filetype!";
            }
        }
    }
    ?>
    Quando faccio il test, mi restituisce questo errore:
    Warning: move_uploaded_file(./upload//STATUTO COORDINAMENTO.pdf) [function.move-uploaded-file]: failed to open stream: Permission denied in D:\Inetpub\webs\itcscotellaroit\nuovo\upload.class .php on line 31
    Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\PHP\upload\php57FB.tmp' to './upload//STATUTO COORDINAMENTO.pdf' in D:\Inetpub\webs\itcscotellaroit\nuovo\upload.class .php on line 31 File uploading error!
    La riga 31 è: if (move_uploaded_file($this->file['tmp_name'],$this->upload_dir ."/". $this->name)) {
    La cartella di destinazione, upload, ha tutti i permessi (CHMOD 777)...

    Ho provato anche correggendo la riga così:
    Codice PHP:
    if (move_uploaded_file($this->file['tmp_name'],$this->upload_dir $this->name)) { 
    visto che nel messaggio di errore mi dava un doppio slash prima del nome file, ma l'errore si ripete.
    Nel file di input, la cartella di destinazione è definita così:
    Codice PHP:
    $up_obj = new UploadFile();         
    echo 
    $up_obj->upload_file("./upload/");         
    exit; 
    Se invece scrivo:
    Codice PHP:
    echo $up_obj->upload_file("http://www.itcscotellaro.it/nuovo/upload/"); 
    mi dice: Invalid Directory!

    metatad
    graphic & web design

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    up?
    metatad
    graphic & web design

  3. #3
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    essendo un server windows il chmod come tale non esiste..
    il percorso di UPLOAD prova a specificarlo così..
    D:\Inetpub\webs\itcscotellaroit\upload
    o la cartella che preferisci..
    vedi se è quello

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    No, mi da lo stesso esito: Invalid Directory!
    metatad
    graphic & web design

  5. #5
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    ripartiamo dal fatto che NON puoi avere i permessi a 777.. ho visto dove hai registrato il dominio, ed essendo un server windows l'unica cartella in cui puoi fare l'upload è la partella PUBLIC. metti quella come destinazione e vedi il risultato..

  6. #6
    oppure prova con questo codice....

    Codice PHP:
    <?php
    // Controllo se ricevo un file con il metodo POST
        
    if (isset($_FILES['file']))
        {
        
    // Se si $file=file che devo caricare
            
    $file=$_FILES['file'];
        
    //Definisco la cartella che riceve
            
    define("UPLOAD_DIR"$_SERVER['DOCUMENT_ROOT']."cartellachericeve\\\");
        //Se il file è caricato correttamente OK
            if(
    $file['error'] == UPLOAD_ERR_OK and is_uploaded_file($file['tmp_name'])) {
                move_uploaded_file(
    $file['tmp_name'], UPLOAD_DIR.$file['name']);
                echo "
    [b]File caricato correttamente[/b]";
            } else {
        // Altrimenti visualizzo i vari messaggi di errore
                if(
    $file['error'] == UPLOAD_ERR_INI_SIZE) echo "[b]Errore durante il caricamento del fileFile NON caricato
    File troppo grande
    Caricare via FTP[/b]";
                if(
    $file['error'] == UPLOAD_ERR_FORM_SIZE) echo "[b]Errore durante il caricamento del fileFile NON caricato
    File troppo grande
    Caricare via FTP[/b]";
                if(
    $file['error'] == UPLOAD_ERR_PARTIAL) echo "[b]Errore durante il caricamento del fileFile NON caricato
    File caricato parzialmente
    [/b]";
                if(
    $file['error'] == UPLOAD_ERR_NO_FILE) echo "[b]Errore durante il caricamento del fileFile NON caricato
    Devi selezionare un file per iniziare il caricamento
    [/b]";
                if(
    $file['error'] == UPLOAD_ERR_NO_TMP_DIR) echo "[b]Errore durante il caricamento del fileFile NON caricato
    Impossibile creare la cartella temporanea
    [/b]";
            };
        } else echo "
    [b]Devi selezionare un file per iniziare il caricamento[/b]";
    ?>

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    Thanks!
    La soluzione di albertobs88 funzia!
    metatad
    graphic & web design

  8. #8
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    in che cartella scrivi?

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    Codice PHP:
    define("UPLOAD_DIR""D:\Inetpub\webs\itcscotellaroit\public\\"); 
    Ma mettendo questo path con l'altro sistema non andava comunque...
    metatad
    graphic & web design

  10. #10
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    ok.. credevo avessi scoperto come uploadare file in un'altra cartella..

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.