Form invio file multipli

Salvo Salvi

Utente Attivo
14 Nov 2012
230
0
0
ciao a tutti, io ho un form con l'invio multiplo di file.
Ma se io questi file li volessi prendere farli diventare in un formato zip e spostarli insieme come dovrei fare?
 

Salvo Salvi

Utente Attivo
14 Nov 2012
230
0
0
Grazie dell aiuto, ma io ho piu file in un solo input
come posso modificare lo script?
PHP:
<?php
$archivia = new ZipArchive();
$nome_file = "archivio2.zip";

if ($archivia->open($nome_file, ZIPARCHIVE::CREATE)!==TRUE) 
{
  @exit("Impossibile aprire <$nome_file>\n");
}

$archivia->addFromString("file1.txt", 
"Testo del primo file zippato\n");

$archivia->addFromString("file2.txt", 
"Testo del secondo file zippato\n");

$archivia->addFile("file3.txt");

echo "Sono stati zippati: " . $archivia->numFiles . " file.\n";
$archivia->close();

?>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
prova così e vedi se funzia
PHP:
<?php
$archivia = new ZipArchive();
$nome_file = "archivio2.zip";

if ($archivia->open($nome_file, ZIPARCHIVE::CREATE)!==TRUE) 
{
  @exit("Impossibile aprire <$nome_file>\n");
}
$nome=array('file1.txt','file2.txt','file3.txt');//questo evidentemente proverra ad un $_FILE[allegato][name]
$conta=count($nome)-1;
foreach($nome as $num => $file){
	if($num<$conta){
		$archivia->addFromString($file, "Testo del $num file zippato\n");
	}else{
		$archivia->addFile($file);
	}
}
echo "Sono stati zippati: " . $archivia->numFiles . " file.\n";
$archivia->close();
?>
 
Ultima modifica:

Salvo Salvi

Utente Attivo
14 Nov 2012
230
0
0
ed all'ultimo per spostare il file zip dove voglio come posso fare? ti rignrazio moltissimo per l' aiuto che mi stai dando
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
con move_upload
comunque devo pensarci un po', perchè se non erro tu vuoi zippare i file che ti inviano gli utenti con un form, giusto?
 

Salvo Salvi

Utente Attivo
14 Nov 2012
230
0
0
Io ho creato questo script, non sarà ottimo ma credo che può andare che ne dici?

PHP:
$archivia = new ZipArchive(); 
$nome_file = time().".zip"; 

if ($archivia->open($nome_file, ZIPARCHIVE::CREATE)!==TRUE)  
{ 
  @exit("Impossibile aprire <$nome_file>\n"); 
} 

$archivia->addFile($file[0]); 
if ($file[1] != "") {
	$archivia->addFile($file[1]);
}
if ($file[2] != "") {
	$archivia->addFile($file[2]);
}

if ($file[3] != "") {
	$archivia->addFile($file[3]);
}

if ($file[4] != "") {
	$archivia->addFile($file[4]);
}

if ($file[5] != "") {
	$archivia->addFile($file[5]);
}

if ($file[6] != "") {
	$archivia->addFile($file[6]);
}
echo "Sono stati zippati: " . $archivia->numFiles . " file.\n"; 
$archivia->close();
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
potresti provare così senza preuccuparti di quanti file hai
PHP:
<?php
//....
if ($archivia->open($nome_file, ZIPARCHIVE::CREATE)!==TRUE){ 
  exit("Impossibile aprire <$nome_file>\n"); 
}
foreach($file as $ch => $val){
	if($val !=""){
		$archivia->addFile($val);
	}
}
echo "Sono stati zippati: " . $archivia->numFiles . " file.\n"; 
$archivia->close();
//.....
?>
provalo al massimo non funzia

dimenticavo
evita di usare il silent, gli errori vanno eliminati non nascosti
 
Ultima modifica:

Salvo Salvi

Utente Attivo
14 Nov 2012
230
0
0
ed infine per spostarlo come potrei fare xk non funge io ho provato cosi

PHP:
move_uploaded_file($NOme,$pathAndName . $NOme );

ed sicuramente ho sbagliato qualcosa perchè non mi funge
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
la sintassi è giusta, verifica i percorsi e se il file esiste
ciao
fai cosi per vedere meglio dove si inceppa
PHP:
<?php
//...
if(file_exists($NOme)){
	if(move_uploaded_file($NOme,$pathAndName . $NOme )){
		echo "file trasferito";
	}else{
		echo "file NON trasferito";
	}
}else{
	echo "file non trovato";
}
//....
?>

stupidaggine: in $pathAndName hai messo la slesh / ?
 

Salvo Salvi

Utente Attivo
14 Nov 2012
230
0
0
si lo messa, aspetta,
Io vorrei ricreare da nuovo il mio script:
ho questo input:
PHP:
  <input required="required" id="file_upload" name="file_upload" type="file" multiple">
e ho questo script per spostare i file
PHP:
$folder='../uploads/';

if(isset($_FILES['file_upload']['name'])){

    $count=0;
    foreach ($_FILES['file_upload']['name'] as $filename) {
        $destination=$folder;
        $origin=$_FILES['file_upload']['tmp_name'][$count];
        $count++;
        $destination=$destination.time();
        move_uploaded_file($origin, $destination);
        	
    }
}

come posso fare ora a creare questo maledetto file zip?
e io ho il mio hosting in aruba e non so da dove impostare questa libreria =) aiutami ti prego
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
prima una piccola cosa:
ti conviene senza usare il $count
PHP:
<?php
//....
foreach ($_FILES['file_upload']['name'] as $chiave => $filename) {
	//...
	$origin=$_FILES['file_upload']['tmp_name'][$chiave];
	//...
}
//....
?>
poi potresti usare lo stesso foreach per fare lo zip, se vuoi salvare sia i varifile che lo zip dei file fai due move, altrimenti fai un move solo.
per aruba: in teoria la libreria dovrebbe essere già in php (dipende dalla versione), la cosa migliore è fare un ticket
 

Salvo Salvi

Utente Attivo
14 Nov 2012
230
0
0
PHP:
$archivia = new ZipArchive();
$nome_file = time().".zip";

if ($archivia->open($nome_file, ZIPARCHIVE::CREATE)!==TRUE) 
{
  @exit("Impossibile aprire <$nome_file>\n");
}


$lista = $_FILES['files']['name'];
 
foreach ($lista as $nome_immagine) {
   $file = basename($nome_immagine);
   /*operazioni di upload*/
echo $file;
$archivia->addFile("$file");

}
echo "Sono stati zippati: " . $archivia->numFiles . " file.\n";
$archivia->close();

move_uploaded_file($nome_file,"../provainviomultiplo/")
?>

ma il file non viene spostasto cavolo!
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
prova questo, così dovresti per prima cosa verificare i dati del file zip
PHP:
<?php
$archivia = new ZipArchive();
$nome_file = time().".zip";
if ($archivia->open($nome_file, ZIPARCHIVE::CREATE)!==TRUE) 
{
  @exit("Impossibile aprire <$nome_file>\n");
}
$lista = $_FILES['files']['name'];
foreach ($lista as $nome_immagine) {
   $file = basename($nome_immagine);
   /*operazioni di upload*/
	echo $file;
	$archivia->addFile($file);
}
//prova a mettere questa per vedere le info del file zip
$info = pathinfo($nome_file);
echo "cartella ".$info['dirname'], "\n";
echo "nome completo ".$info['basename'], "\n";
echo "estenzione ".$info['extension'], "\n";
echo "nome del file ".$info['filename'], "\n";
//così verifichi se il file si è formato e dove è
echo "Sono stati zippati: " . $archivia->numFiles . " file.\n";
$archivia->close();
//move_uploaded_file($nome_file,"../provainviomultiplo/$nome_file");
?>
sappimi dire
 

Salvo Salvi

Utente Attivo
14 Nov 2012
230
0
0
mi restituisce tutto, ma non mi sposta il file.

HTML:
1000spider.xlsxcartella . nome completo 1369211108.zip estenzione zip nome del file 1369211108 Sono stati zippati: 1 file.

ho provato anche a muoverlo nella stessa cartella per non sbagliare

move_uploaded_file($nome_file, $nome_file)
 

Salvo Salvi

Utente Attivo
14 Nov 2012
230
0
0
mi dice questo:

No such file or directory in /membri/laemmeallapi/provainviomultiplo/index.php on line 34
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
allora il problema non è move (o rename), ma non trova il file
quindi verifica per bene i percorsi e verifica con esplora risorse che il file esista e dove è posuzionato rispetto allo script
filo o cartella non trovata
 
Discussioni simili
Autore Titolo Forum Risposte Data
S Form invio mail html, con invio tramite file denominato invio.php PHP 8
asevenx invio dati da form a file xml XML 0
P ASP form invio dati + file per email Classic ASP 4
G Aiuto per creare un form di invio file Classic ASP 3
SolidSnake4 invio file video con form php PHP 8
T Invio mail da form contatti con annesso file attachment Classic ASP 1
pugia Invio file da form HTML e CSS 3
M Form: come tornare ai campi già compilati dopo invio PHP 1
G Invio form con PHP PHP 3
S Invio email da form PHP 8
U PHP bottone per invio mail o ritorno al form PHP 15
A [PHP] Invio automatico dati da form PHP 6
B [PHP] Invio mail automatico dopo compilazione form - db PHP 25
Cosina [PHP] Preservare i campi del form solo se l'invio non ha successo PHP 5
R [javascript]Form invio preventivo Javascript 0
paloppa [PHP] Invio mail da form dubbio PHP 17
G [PHP] FORM INVIO VALORI A QUERY CON TRE CONDIZIONI PHP 2
F Form mail php errore invio PHP 5
S Problema invio form php/html PHP 3
Samuele Ronzani [PHP] Validazione e invio campi form. PHP 7
Matteo Lorenzon [PHP][WORDPRESS] Form in Wordpress, creazione PDF con dati del form ed invio tramite email WordPress 1
I form invio mail HTML e CSS 1
Francesco Polese Errore form invio mail+php PHP 22
P invio mail da form con dati php PHP 7
Marco_88 Passare un valore prima dell'invio del form Ajax 0
P PHP mailer invio form con 2 allegati. PHP 3
G Form invio multiplo da database PHP 0
W Estrapolare un indirizzo mail di un form durante l'invio PHP 5
C Come posso integrare il bottone "paga adesso" di paypal e un form php per invio dati? PHP 1
I invio mail da form PHP 1
W Modifica su invio dati da form PHP 4
N impedire invio dati form jQuery 3
Il Matta Problema Form e invio mail PHP 2
P Caricare nuova pagina dopo invio dati form Javascript 11
P invio form non corretto dopo controllo dati PHP 8
asevenx problema invio email tramite form PHP 3
M [Richiesta] - Invio tramite form di dati ad un db mysql PHP 2
B Problema form mail per invio doppio allegato PHP 1
N Invio Form con un Ciclo For Javascript 8
A Problema invio dati form contatti PHP 12
A Problema orario invio mail per form PHP 4
L Recupero dati form in tabella e invio con ajax. Problemino jQuery 1
V problemi con l'invio di allegato in un form PHP 17
A Problema invio messaggio col form PHP 1
S php form invio mail PHP 3
L Form con invio mail PHP 1
L jquery UI dialog form. Conferma prima di invio jQuery 2
S [RISOLTO]invio form con select onchange Javascript 2
K Controllo FORM e invio dati al DB PHP 43
M lanciare due funzioni javascript dopo l'invio di un form Javascript 2

Discussioni simili