form salvabile dagli utenti con varie estensioni

kain

Utente Attivo
14 Apr 2010
67
0
0
ciao vorrei realizzare un form che sia personalizzabile dall'utente e che alla fine della compilazione possa essere salvato dall'utente sul suo pc con l'estensione che vuole scegliere html, css.....
fin ora ho scritto questi due file ma gia mi rendo conto che manca qualcosa, anche sul metodo di farlo scaricare avrei un po' da ridire, possibile che l'utente per scaricarlo debbe per forza salvarlo prima sul mio spazio? lo vedo rischioso per virus o altro codice dannoso(!?!)
se potete ditemi qualcosa è molto che tento di realizzare questa cosa
ciao




PHP:
<?php if(isset($_POST['Editor'])){ 
 $base = 'testo';
 $contatore = 0; 
while(file_exists($base. $contatore. '.txt')){ 
$contatore++; 
}
 $fileDaAprire = $base.$contatore.'.txt'; 
$datidaform = $_POST['Editor']; //recupera dati 
$fp = fopen($fileDaAprire, 'w+');
 fwrite($fp, $datidaform); 
fclose($fp); 
}
 if(isset($_POST['Editor'])){
  $base = 'testo';
 $contatore = 0;
 while(file_exists($base. $contatore. '.css')){
 $contatore++;
 } 
$fileDaAprire = $base.$contatore.'.css';
 $datidaform = $_POST['Editor']; //recupera dati 
$fp = fopen($fileDaAprire, 'w+');
 fwrite($fp, $datidaform);
 fclose($fp); 
} 
if(isset($_POST['Editor'])){ 
 $base = 'testo';
 $contatore = 0; 
while(file_exists($base. $contatore. '.html')){ 
$contatore++; 
} 
$fileDaAprire = $base.$contatore.'.html';
 $datidaform = $_POST['Editor']; //recupera dati 
$fp = fopen($fileDaAprire, 'w+');
 fwrite($fp, $datidaform); 
fclose($fp); 
} 
if(isset($_POST['Editor'])){  
$base = 'testo'; 
$contatore = 0; 
while(file_exists($base. $contatore. '.php')){ $contatore++; 
} 
$fileDaAprire = $base.$contatore.'.php'; 
$datidaform = $_POST['Editor']; //recupera dati 
$fp = fopen($fileDaAprire, 'w+'); 
fwrite($fp, $datidaform); 
fclose($fp); 
}  ?>

PHP:
<form action="fileall.php" method="post"> 
<textarea name='Editor' cols='130' rows='38' > 
 doctype head head body body html</textarea> <br>  
<input type="reset" value="cancella">    <br>   
<input type="submit"value="salva .txt">  
<input type="submit"value="salva .css"> 
<input type="submit"value="salva .html"> 
<input type="submit"value="salva .php"> 
</form>
 

kain

Utente Attivo
14 Apr 2010
67
0
0
ciao a tutti c'è un modo per ottenere questo Senza titolo-1.jpg
 

kain

Utente Attivo
14 Apr 2010
67
0
0
grazie da quello che leggo nello script mi pare di capire che i file finiscon0 in /root/www/download/ e da li vanno scaricati io invece preferirei che sia salvato il form compilato senza neanche passare nella root del mio sito.
anche perchè dallo script che ho postato l'utente non sa neanche come si chiama il suo file :confused:
e comunque dallo scriptino che ho postato non ho ancora risolto il problema delle diverse estensioni, saresti così gentile da indicarmi come e cosa modificare?
 

emanuelevt

Utente Attivo
24 Giu 2009
298
0
0
Non ricordo bene da dove l'ho presa ma tempo fa ho salvato questa classe forse potrebbe esserti di aiuto:

PHP:
  * ***/
class forceDownload
{
	public $_allowedPath;
	public $_allowedFiles;
	public $_allowedExtensions;
	protected $fileName;
 
		public function __construct($fileName)
		{
			$this->fileName = $fileName;
		}	
 
		private function DownloadThisFile($file)
		{
 
			header("Cache-Control: public");
			header("Content-type: application/octet-stream");  
			header("Content-Length: " . filesize($file));  
			header("Content-Disposition: attachment; filename= " . $file);
 
			readfile($file);
		}
 
		public function DownloadWihtFilter()
		{
			$control = 0;
			$file = basename($this->fileName);
			$path = dirname($this->fileName);
 
			if(!file_exists($this->fileName))
			{
				die("Il file richiesto non esiste nella posizione");
			}
 
			if(isset($this->_allowedFiles))
			{
				$control = 1;
 
				$files = explode("," , $this->_allowedFiles);
 
				if(!in_array($file, $files))
				{
					die("Nome file non presente nella lista!");
				}
			}
 
			if(isset($this->_allowedExtensions))
			{
				$control = 1;
 
				$ext = explode("," , $this->_allowedExtensions);
 
				$fileNameExtension = end(explode(".", $file));
 
				if(!in_array($fileNameExtension, $ext))
				{
					die("Estensione non abilitata per il download");
				}
			}
 
			if(isset($this->_allowedPath))
			{
				$control = 1;
 
				$paths = explode("," , $this->_allowedPath);
 
				if(!in_array($path,$paths))
				{
					die("Il file si trova in una cartella non abilitata al download");
				}
			}
 
			if(!$control)
			{
				die("Devi mettere almeno un controllo");
			}
 
			$this->DownloadThisFile($this->fileName);
 
		}
 
}

In quetso modo

$download = new forceDownload($_GET['file']);
$download->_allowedExtensions = "pdf,txt"; //abiliti formati .pdpf e .txt
$download->_allowedPath = "files/download"; //abiliti questa cartella
$download->DownloadWihtFilter();
 

kain

Utente Attivo
14 Apr 2010
67
0
0
grazie almeno so che qualcosa per far scaricare altre estensioni si può fare certo devo rivedere completamente i miei codici, faccio altre prove
ciao
 
Discussioni simili
Autore Titolo Forum Risposte Data
S passare un valore da un form a un file .php con metodo post PHP 4
K Form che manda dati doppi PHP 1
K Problema form update PHP 2
Elisacau [Contact form 7] Inserire Numero auto incrementante WordPress 1
K form Inserimento record mysql PHP 2
I Form con selettore HTML e CSS 0
K [php]form invio dati PHP 0
G form invio multiplo con checkbox PHP 12
nivaria.achinet Intercettare form solo dopo invio Javascript 1
D Form contatti non funzionante HTML e CSS 0
A Stampare dati da form PHP 8
M Unire 2 funzioni per l'invio di un form e con l'apertura di un div Javascript 0
I Form HTML e CSS 17
otto9due $_FILE non passa i dati dal form PHP 1
M Form: come tornare ai campi già compilati dopo invio PHP 1
G Invio form con PHP PHP 3
felino Form action costum e parametri in queryString WordPress 1
M Come recuperare molteplici input form PHP 1
M Collegamento tra form html e script php PHP 4
L form immagini per il database PHP 0
A form PHP prenotazione tramite query PHP 2
A Form php prenotazione di un azienda sanitaria locale presso studio medico PHP 1
L inserimento form dati multipli ? PHP 0
L Problemi form Pagina php HTML e CSS 3
Cosina Creare bottone delete in form upload PHP 5
Cosina Creare bottone delete in form upload PHP 1
D Devo far funzionare un form di contatti PHP 4
B form gestione input PHP 2
V PHP form intersecate PHP 0
8 Javascript - PDF Form Javascript 0
J Form inserimento dati in database Ajax 1
E Gestione profilo utente tramite Form PHP 3
R [C#] Form principale si blocca mentre un altro Thread lavora .NET Framework 0
M Problema con controllo form in real time jQuery 6
D Form validazione Javascript 2
R form recovery pass PHP 0
V Symfony e i form PHP 3
M form con checkbox PHP 8
S come aggiustare un form di contatto? HTML e CSS 3
F query e form con select multipla PHP 17
MarcoGrazia Verifica di una stringa o di un nome proveniente da form Snippet PHP 0
A Inserimento dati nel database tramite form + altre operazioni PHP 18
websilvia Contact form using Bootstrap 3.3.4 PHP 8
Alex_70 Button non funziona nella form PHP 2
C Form email php su pagina index.html? PHP 21
W Rinominare Documenti Con Form Asp Classic ASP 9
S Invio email da form PHP 8
L form multipla php sql,errore in inserimento MySQL 0
L inviare i dati di un form ad un database PHP 6
L Collegare un form html ad un database access Javascript 2

Discussioni simili