Accedi per seguire   
Seguaci 0
Sorik

Upload Immagini Senza Gd

2 messaggi in questa discussione

Salve a tutti. Chiedo anticipatamente scusa se il mio post và contro il regolamento o non è consono. Spero di no, anche perchè ho letto il regolamento un bel pò di volte prima di postare :)

Vado ad esporvi il mio problema.

Sto tentando di creare un semplice sistema di upload di immagini in php. Senza usare dabase mysql ma semplicemente copiando il file su un'apposita cartella sul server. Si parla di file di immagine in vari formati, quindi niente video o audio o text o quant'altro.

Il problema, ha detto di qualcuno perchè io non credo di aver capito, è che essendo il mio sito su un server Win, non possiede la GD Gallery e questo mi impedisce l'upload del file. Il tutto si svolge con due semplici pagine, una html, di upload, con il form e l'altra, in php, che visualizza i file.

Spero di essermi spiegato in modo comprensibile, e ringrazio anticipatamente ogni eventuale risposta o no :P

A presto

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

La premessa fondamentale è che tu abbia i diritti di scrittura su di una cartella del server (quella che riceverà il file in upload).

Per fare upload di file (con PHP, ma in generale con qualsiasi tecnologia lato server: ASP, ecc), si deve partire da una particolare form HTML:

<form method=post  action="uploadit.php" enctype="multipart/form-data">
<input type="file" name="uploadfile">

E' importante che il parametro enctype sia impostato a "multipart/form-data"!!!

E dev'essere presente un tag <input> di tipo "file".

Come si può notare, il parametro action della form rimanda ad una pagina PHP che sarà quella che gestisce il nostro file in upload.

Per come gestisce PHP questo tipo di azioni, succede questo:

Vengono create delle variabili prefissate dal valore del parametro name del tag input di tipo file della pagina che ha inviato il file (nel nostro esempio: uploadfile).

$uploadfile_name (nome e percorso)

$uploadfile_size (dimensioni)

$uploadfile_type (tipo)

$uploadfile (nome del file creato dopo l'invio)

Noi possiamo accedere a queste variabili.

Quello che segue è un esempio di pagina HTML di partenza (puo' essere anche una pagina PHP, l'importante è che contenga la form particolare appea spiegata e che il parametro action rimandi alla pagina PHP che gestisce l'upload).

<HTML>
 <BODY>
   <HR>
   <FORM method="post" action="uploadit.php" enctype="multipart/form-data">
   <TABLE WIDTH="70%" BORDER="8" CELLSPACING="0">
     <TR>
       <TD>
         <B>Inserisci il nome del file da inviare </B><INPUT type="file" name="uploadfile">
         <BR><BR>
         <INPUT type="submit" value="Invia le informazioni!">
         <INPUT type="reset" value="Cancella">
       </TD>
     </TR>
   </TABLE>
   </FORM>
 </BODY>
</HTML>

Quella che segue, invece, è la pagina PHP che gestira' il file inviato:

<HTML>
 <BODY>

 <?php
   echo "<PRE>";
   echo "nome del file locale creato dopo l'invio: $uploadfile\n";
   echo "nome originale del file remoto: $uploadfile_name\n";
   echo "dimensioni del file in byte: $uploadfile_size\n";
   echo "tipo di file: $uploadfile_type\n";
   echo "</PRE>";
   echo "<HR>";
   # abbiamo veramente un file?
   if ( $uploadfile == "none" ) {
     echo "Non è stato inviato alcun file<BR>";
     echo "Ritorna al form per inviare il <A HREF=\"upload.html\">file</A>";
     exit;
   }
   # controlla innanzitutto le dimensioni del file
   # se è meno di 3 KB
   if ($uploadfile_size < 3072 ) {
     # lo copia in una nuova posizione
     if (copy($uploadfile,"/home/httpd/docs/$uploadfile_name"))
     {
       echo "Invio del file riuscito";
       # cancella il file temporaneo
       unlink($uploadfile);
     } else {
       echo "Invio del file fallito";
     }
   } else {
     echo "Spiacente, il file da inviare non deve superare le dimensioni di 3 KB<BR>";
   }
 ?>
 Ritorna al form per inviare i <A HREF="upload.html">file</A>
 </BODY>
</HTML>

Spero di essere stato utile :)

Ciao ciao, Prozac.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Crea un account o accedi per lasciare un commento

Devi essere un utente registrato per partecipare

Crea un account

Iscriviti per un nuovo account nella nostra community. È facile!


Registra un nuovo account

Accedi

Sei già registrato? Accedi qui.


Accedi Ora
Accedi per seguire   
Seguaci 0