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

    visualizzare i files dopo l'upload con PHP

    Salve a tutti!!
    Ho un grosso problema, ho uno script che fa l'upload di files con PHP. Lo script funziona senza problemi e il file viene uploadato su una cartella "uploads".
    Quando richiamo il file uploadato (es. uploads/miofile.jpg) questo viene visualizzato in locale ma non nel server!!!!
    Premetto che se nel server faccio l'upload manuale nella stessa cartella ("uploads") questo viene visualizzato. Quindi il problema e' solo per i files uploadati con PHP.
    Ho controllato i permessi e ho settato sia il classico 644,sia 777 ma non cambia niente... cosa puo' essere???

    Qui c'e' la funzione che ho utilizzato:
    codice:
    copy($_FILES[$fileformname]['tmp_name'], $filepath."/".$filename.".".substr($upfile_name,-3))
    Aiutatemi sto diventando pazzo!!
    We live thinking we will never die.
    We die thinking we had never lived.

  2. #2

    Re: visualizzare i files dopo l'upload con PHP

    Originariamente inviato da dariosapi
    Salve a tutti!!
    Ho un grosso problema, ho uno script che fa l'upload di files con PHP. Lo script funziona senza problemi e il file viene uploadato su una cartella "uploads".
    Quando richiamo il file uploadato (es. uploads/miofile.jpg) questo viene visualizzato in locale ma non nel server!!!!
    Premetto che se nel server faccio l'upload manuale nella stessa cartella ("uploads") questo viene visualizzato. Quindi il problema e' solo per i files uploadati con PHP.
    Ho controllato i permessi e ho settato sia il classico 644,sia 777 ma non cambia niente... cosa puo' essere???

    Qui c'e' la funzione che ho utilizzato:
    codice:
    copy($_FILES[$fileformname]['tmp_name'], $filepath."/".$filename.".".substr($upfile_name,-3))
    Aiutatemi sto diventando pazzo!!
    In che senso non viene visualizzato? :master:
    Ottieni un errore http404 ??

    se cosi' stampa i valori dei path che gli passi e controlla sia su server che su client....

    Scusa il consiglio che sembra idiota, ma con i pochi dettagli forniti non mi viene in mente altro...


    Aloha
    <<E' una decisione molto importante. Pensaci bene, Ataru!>>
    <<STOLTO! Non lo sai che io AGISCO SEMPRE PRIMA DI PENSARE???>>

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    320
    ma come fa a trovarlo se gli togli l'estensione?


    forse dico na cazzata!!!
    Felicità e Prosperità a tutti

  4. #4
    Si, l'errore che ottengo e' un HTTP 404.
    Scusate non ho postato chiaramente il codice:

    codice:
    $upfile_name=$_FILES['fileformname']['name'];
    $filename = $upfile_name;
    $upfile_size=$_FILES['fileformname']['size']; 
    copy($_FILES[$fileformname]['tmp_name'], $filepath."/".$filename.".".substr($upfile_name,-3))
    l'estensione c'e' (anche se limitata a 3 caratteri per cui non funziona con estensioni tipo html, ecc.)
    We live thinking we will never die.
    We die thinking we had never lived.

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    320
    vabbè che sono acerbo in php ma tanto per capire

    copy($_FILES[$fileformname]['tmp_name'],
    $filepath."/".$filename.".".substr($upfile_name,-3))
    mi sembra che così diventi

    $filepath/$filename.$filename (senza estensione)

    ma in $upfile_name che cosa c'è dentro?


    scusa è solo perchè voglio imparare qualcosa
    Felicità e Prosperità a tutti

  6. #6
    in realta' era una funzione che avevo creato per questo scopo, la posto tutta (magari a qualcuno potrebbe servire):

    codice:
    // UPLOAD A FILE
    // **2 arguments FileUpload("filename","../uploads")
    // **3 arguments FileUpload("filename","../uploads","imgname")
    // **4 arguments FileUpload("filename","../uploads","imgname", 50000);// all files < 50Kb
    // **5 arguments FileUpload("filename","../uploads","imgname",800000, "jpg");// files jpg < 800Kb
    // * $fileformname = name of the imput tag which send the file e.g. <input type="file" name="fileform" />
    function FileUpload($fileformname, $filepath){
    
      $upfile_name=$_FILES[$fileformname]['name'];
      $filename = $upfile_name;
      $upfile_size=$_FILES[$fileformname]['size']; 
      $args = func_get_args();
      
      // 3 arguments
      if(count($args)==3){
        $filename = $args[2]; // filename
      } 
     
      // 4 arguments - check extention
      if(count($args)==4){
      $filesize = $args[3]; // file size
      if($upfile_size>$filesize)
          { return false;
            exit();
          }
      }
      // 5 arguments - check extention and file size
      if(count($args)==5){
        $fileextention = $args[4];
        $filesize = $args[3]; 
          if((substr($upfile_name,-3)!= strtolower($fileextention))  AND (substr($upfile_name,-3)!=strtoupper($fileextention)) OR ($upfile_size>$filesize))
          { return false;
            exit();
          }
      }
      
      // UPLOAD FILE   
      if(copy($_FILES[$fileformname]['tmp_name'], $filepath."/".$filename))
      {return true;}
      else{return false;} 
       
    }
    Il problema l'ho risolto era una stupidaggine, con il codice postato prima uploadavo 2 volte l'estensione quindi avevo una cosa del tipo file.jpg.jpg che facevo fatica a notare nella cartella di uploads...
    Cmq filename e' il nome del tag "input" che manda il file.
    Grazie cmq a tutti quelli che hanno risposto, spero che almeno questa funzione possa essere d'aiuto a qualcuno.
    We live thinking we will never die.
    We die thinking we had never lived.

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.