MasterDrive.it   
Vai indietro   MasterDrive.it > Web Development e Scripting > PHP > PHP Tutorials & How-To



Rispondi
 
Strumenti della discussione Modalità di visualizzazione
Vecchio 31-10-2005, 10:41   #1 (permalink)
Moderatore Globale

 L'avatar di Master85

 
4,545 Messaggi

Master85 e' decisamente importante ( + 350 )Master85 e' decisamente importante ( + 350 )Master85 e' decisamente importante ( + 350 )Master85 e' decisamente importante ( + 350 )
PHP 4.x: Upload di immagini con PHP

Introduzione

Per chi ha intenzione di realizzare una galleria di immagini o qualsiasi altra cosa che abbia a che fare con le immagini, avra' senz' altro bisogno di uno script che sia in grado di caricare le immagini presenti sul nostro Computer, direttamente sul server.
In questa guida, vedremo proprio come realizzare questo script.

Upload di immagini

Dopo questa breve introduzione, siamo pronti per mettere giu' un po di codice. Prima di iniziare, vediamo di quante pagina sara' formato il nostro script:

-> Form.php
-> Upload.php

Queste saranno le pagine che costituiranno il nostro script, la pagina form.php, conterra' la form da compilare e la pagina upload.php, il codice completo, necessario all' upload dell' immagine. Senza perdere altro tempo, vediamo il codice relativo alla pagina form.php:

File: form.PHP

codice:
<form enctype="multipart/form-data" method="post" action="upload.php">
	Immagine: <input type="file" name="txt_file" size="40">
	<input type="submit" value="Upload Immagine">
</form>
Come possiamo ben vedere, in questa form e' stato definito un enctype che individua dei dati da inviare, inoltre anche l' input, e' di tipo File, appunto per permetterci di sfogliare le directory e i files presenti sul nostro computer.
Adesso, non mi resta che visualizzare il codice sorgente completo relativo alla pagina upload.php:

File: upload.php (1° Parte: Alcune funzioni utili)

codice:
<?php
//Funzioni utili...
//Funzione Replace " " in "_" (evitiamo possibili errori)
function fSpace($string)
{
	return str_replace(" ", "_", $string);
}

//Funzione per ricavare l' estensione di un File
function fExt($string)
{ 
	//Controllo il file
	$trova_punto = explode(".", $string);
	$estensione = $trova_punto[count($trova_punto) - 1];
	$estensione = strtolower($estensione);
	
	// Se non ci sono estensioni
	if (isset($trova_punto[1]) == FALSE)
	{
		return '';
	}
	//Ritorno il valore dell' estensione
	return $estensione;
}
//Fine funzioni

...
Il codice sopra riportato, contiene due funzioni, rispettivamente, la prima e' necessaria a sostituire lo spazio con un Underscore ("_"), questo serve a evitare che il server restiuisca eventuali errori durante l' upload di files nel caso in cui il nome presentasse degli spazi. La seconda, invece, e' utile a ricavare l' estensione del file.

File: upload.php (2° Parte: Upload del file)

codice:
...

//Effettuo l' upload dell' immagine...
$uploaddir = 'uploads/';
$uploadfile = fspace($_FILES['txt_file']['name']);
$upload = $uploaddir . $uploadfile;

//Controllo che sia stato specificato un file
if(!strlen($uploadfile) == 0)
{
	//Controllo l' estensione del file
	if((fExt($uploadfile) == 'gif') or (fExt($uploadfile) == 'jpeg'))
	{
		//Creo la cartella
		mkdir($uploaddir);
		
		//Eseguo l' upload
		if(move_uploaded_file($_FILES['txt_file']['tmp_name'], $upload))
		{
			//Upload eseguito con successo
			echo "Upload eseguito correttamente";
			echo "<p><img src='". $upload ."'>";
			echo "<p><a href='form.php'>Carica una nuova immagine</a>";
		}else{
			//Upload fallito
			echo "Upload fallito !";
		}
	}else{
		//Messaggio di errore
		echo "File non valido";
		echo "<br><a href='form.php'>Torna dietro</a>";
	}
}else{
	//Messaggio di errore
	echo "Specificare un file !";
	echo "<br><a href='form.php'>Torna dietro</a>";
}
A questo punto, il codice relativo alla pagina upload.php e' concluso e qui termina anche questa guida... Un saluto e alla prossima da Master85.

Pillola

Attenzione: Il PHP di default consente l' upload di un file non superiore ai 2 Mb (2048 Kb), il tutto e' comunque modificabile dal file di configurazione PHP.INI

Master85 non è in linea   Bookmark and Share Rispondi quotando
Rispondi

Strumenti della discussione
Modalità di visualizzazione

Regole d'invio
Non puoi inserire discussioni
Non puoi inserire repliche
Non puoi inserire allegati
Non puoi modificare i tuoi messaggi

BB code è attivo
Le smilies sono attive
Il codice IMG è attivo
il codice HTML è disattivato
Trackbacks are attivo
Pingbacks are attivo
Refbacks are disattivato

Salto del forum

Discussioni simili
Discussione Ha iniziato questa discussione Forum Risposte Ultimo messaggio
Recensione: "PHP 5 & MySQL - La Guida" Master85 PHP Tutorials & How-To 8 26-12-2006 19:24
Upload di n. immagini a scelta dell'utente. Qualche idea? schizzechea PHP 9 17-08-2006 15:47
Upload immagini nel db e nella cartella condor1972 PHP 16 25-06-2006 12:55
Upload di immagini con PHP micdech PHP 3 13-04-2006 17:34
ASP.Net: Upload di immagini Master85 ASP 3.0, ASP .Net Tutorials & How-To 0 30-10-2005 15:33


Tutti gli orari sono GMT +2. Attualmente sono le 09:57.


Powered by vBulletin versione 3.8.0
Copyright © 2000 - 2010, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.2.0

Valid XHTML 1.0 Transitional  Creative Commons License

Eccetto dove diversamente specificato, i contenuti pubblicati in questa comunità sono rilasciati sotto Licenza
Creative Commons Attribuzione-Non commerciale-Condividi allo stesso modo 2.5 Italia License.
La comunita' di MasterDrive.it non e' responsabile di eventuali imprecisioni presenti nelle pagine.