Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
PHP - rilevare path di un file prima di uploadarlo
Forum - PHP - rilevare path di un file prima di uploadarlo

Avatar
Il_maca (Ex-Member)
Pro


Messaggi: 163
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 14:29
Domenica, 25/04/2010
salve raga torno a rompere....sto creando un sito web e avrei bisogno di mandare in anteprima una foto, prima di caricarla effettivamente sul server! io un'idea mezza funzionante l'avrei...l'unico problema è che non riesco a prendere il path della foto...non so come fare!! ho cercato su internet ma tutte le soluzioni hanno problemi...ci sto ancora lavorando, se qualcuno sa come risolvere questo problema lo pregherei di aiutarmi...nel frattempo continuo a cercare
grazie a tutti, ciao

PM Quote
Avatar
cassin.simone (Member)
Guru


Messaggi: 1051
Iscritto: 03/06/2009

Segnala al moderatore
Postato alle 15:58
Domenica, 25/04/2010
Penso che se vuoi visualizzarne l'anteprima senza uplodare dovresti usare JavaScript prendendo la path del file direttamente dalla barra dell'uploader (per chiarirci quella dove appare "Sfoglia" o "Scegli file"). ;)
Tu hai già trovato una soluzione per visualizzare la foto dal pc sapendo la path? Se sì basterebbe una funzione JS che recuperi la path dalla barra dell'uploader :)

PM Quote
Avatar
Il_maca (Ex-Member)
Pro


Messaggi: 163
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 17:59
Domenica, 25/04/2010
Testo quotato

Postato originariamente da cassin.simone:

Penso che se vuoi visualizzarne l'anteprima senza uplodare dovresti usare JavaScript prendendo la path del file direttamente dalla barra dell'uploader (per chiarirci quella dove appare "Sfoglia" o "Scegli file"). ;)
Tu hai già trovato una soluzione per visualizzare la foto dal pc sapendo la path? Se sì basterebbe una funzione JS che recuperi la path dalla barra dell'uploader :)



si esattamente...ho già provato a fare ciò ma con un cattivo risultato, in particolare ho utilizzato questo codice:

Codice sorgente - presumibilmente Php

  1. <html>
  2. <head>
  3.          <title>Script Javascript: Anteprima immagine per upload</title>
  4.        
  5.         <script language="Javascript">
  6.        
  7.         function preview()
  8.         {
  9.                 // prelevo l'indirizzo locale dell'immagine da caricare
  10.                 var immagine_da_caricare = document.getElementById('upload_immagine').value;  
  11.                 // swappo l'immagine presente con quella da caricare
  12.                 // file:/// -> serve in particolare per firefox altrimenti non visualizza immagine             
  13.                 document.getElementById('anteprima_immagine').src = immagine_da_caricare;
  14.         }
  15.         </script>
  16. </head>
  17. <body>
  18.         <img id="anteprima_immagine" src="images/default.gif" border="0" width="85" height="65"><br/><br/>
  19.         <input type="file" size="30" onchange="preview()" id="upload_immagine" name="upload_immagine">
  20. </body>
  21. </html>



solo che la funzione "document.getElementById('upload_immagine').value;" mi restituisce il percorso in cui mi trovo più il nome del file... tanto per intenderci se io mi trovo in C:/programmi/easyphp/www/ e la foto che ho selezionato sul desktop, mi restituisce:
C:/programmi/easyphp/www/foto_da_caricare, ovviamente la foto non c'è e pertanto appare l'immagine di foto mancante! ecco perchè mi sono rivolto al php...magari con la variabile globale $_FILES[][] si potrebbe fare qualcosa...

PM Quote
Avatar
Danzisi (Normal User)
Newbie


Messaggi: 1
Iscritto: 18/08/2010

Segnala al moderatore
Postato alle 23:12
Mercoledì, 18/08/2010
Il codice per l'anteprima immagine è questo:

<SCRIPT type="text/javascript">
        <!--
            function getnamefile() {

                if (navigator.appName == "Netscape")
                  {
                       // fileInput is a HTMLInputElement: <input type="file" id="uploadedfile" multiple>
                        var fileInput = document.getElementById("xpathimagenews");

                        // files is a FileList object (similar to NodeList)
                        var files = fileInput.files;

                        document.frmsaveaddnews.ximagenewspreview.src = files[0].getAsDataURL();
                  }
                  else
                  {
                        var img = document.frmsaveaddnews.xpathimagenews.value;
                          document.frmsaveaddnews.ximagenewspreview.src=img;
                        return true;
                  }

            }
         //-->
        </SCRIPT>

mentre nel form metti, proseguendo lo script:

<?php
<form method='POST' enctype='multipart/form-data' action='page.php' name='frmsaveaddnews'>
<input type='file' name='xpathimagenews' id='xpathimagenews' maxlength='255' size='60' onchange='getnamefile();'>
        <img src='' width='160' height='120' border='0' alt='' name='ximagenewspreview' id='ximagenewspreview'><br>
</form>
?>

fammi sapere se funziona sia con firefox che con ie!!
se hai bisogno http://danzisiweb.netsons.org bottone comunicare

ciao

PM Quote
Avatar
crack001 (Normal User)
Rookie


Messaggi: 52
Iscritto: 25/10/2007

Segnala al moderatore
Postato alle 0:27
Martedì, 28/09/2010
guarda, io ti consiglio di usare la funzione basename() credo che sia quella che cerchi...

in pratica il funzionamento è semplice, ti da il nome del file che inserisci tramite indirizzo, se tu metti www.asdfasfdasf.com/miofile.php

basename() ti da miofile.php

e lo usi in questo modo, utilizzi 1 form x inserire l'indirizzo sottoforma di stringa, e poi la variabile in cui salvi i dati inseriti la fai passare come parametro della funzione basename(). poi x la lavorazione dell'immagini ci sono varie funzioni ke tocca a te decidere

PM Quote
Avatar
Il_maca (Ex-Member)
Pro


Messaggi: 163
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 8:23
Sabato, 09/10/2010
Testo quotato

Postato originariamente da crack001:

guarda, io ti consiglio di usare la funzione basename() credo che sia quella che cerchi...

in pratica il funzionamento è semplice, ti da il nome del file che inserisci tramite indirizzo, se tu metti www.asdfasfdasf.com/miofile.php

basename() ti da miofile.php

e lo usi in questo modo, utilizzi 1 form x inserire l'indirizzo sottoforma di stringa, e poi la variabile in cui salvi i dati inseriti la fai passare come parametro della funzione basename(). poi x la lavorazione dell'immagini ci sono varie funzioni ke tocca a te decidere  



ma in questo modo otterrei il nome del file...ma io quello ce l'ho già...a me serve l'indirizzo in locale (però vorrei evitare di far inserire manualmente l'indirizzo...).
Comunque ho provato e riprovato ma niente, penso sia una misura di sicurezza per non svelare la struttura del proprio file system, o cmq per non minare la sicurezza in generale...quindi non credo che si possa far nulla.
comunque sono aperto a qualsiasi idea e/o suggerimento...

PM Quote
Avatar
Il_maca (Ex-Member)
Pro


Messaggi: 163
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 8:32
Sabato, 09/10/2010
ah...proprio per caso dopo aver riletto questo post mi si è accesa la lampadina...
ricordo che tempo fa iniziai a studiare un particolare tipo di linguaggio, actionscript (flash):
http://www.adylevy.com/demo/imgUpload/

Penso che ormai (e forse ancora per poco) resta l'unico metodo!
Credo che sia fantastico quello che si riesce a fare con actionscript. Bisognerebbe dedicargli una sezione xD.

Ultima modifica effettuata da Il_maca il 09/10/2010 alle 8:36
PM Quote