Salvataggio file tramite sfoglia

Furiella

Nuovo Utente
14 Nov 2013
5
0
0
Buondì,
non sono un programmatore prodetto ma un dilettante che si diletta nella programmazione.

Avrei bisogno di una dritta e vado subito al sodo ringraziando anticipatamente.
Ambiente locale (mio pc)
upload multiplo di immagini

1 seleziono le immagini da salvare
2 inserisco in un 'campo testo' il nome della cartella ove salvare
3 eseguo col submit l'uploading.php

Il codice è scarno, privo di controlli e semplice semplice. Verrà implementato successivamente. Come verrà eventualmente implementato con un sistema di DB, ma per ora mi è sufficente gestire in cartelle.

Domanda:
come posso modificare il punto 2 facendo selezionare il percorso ove salvare tramite una finestra sfoglia? Può essere eventualmente utilizzato anche sul server web?


codice HTML
HTML:
<form method="post" action="uploading.php" enctype="multipart/form-data">
    <input type="file" name="files[]" multiple="multiple"> <br />
    <input type="hidden" name="MAX_FILE_SIZE" value="10000">
    <label for="original_path">original path</label>
    <input type="text" name="original_path" value="" size="40" maxlength="255" /> <br />
    <input type="submit" value="Upload">
</form>



codice PHP
PHP:
<?php

$uploads_dir = $_POST['original_path'].'/';

foreach ($_FILES["files"]["error"] as $key => $error) {

    if ($error == UPLOAD_ERR_OK) {
        $tmp_name = $_FILES["files"]["tmp_name"][$key];
        $name = $_FILES["files"]["name"][$key];
        move_uploaded_file($tmp_name, "$uploads_dir $name");
		echo "$name caricato </br>";
    }
}
?>


Grazie
 
Nessuno ha suggerimenti?

accettasi qualsiasi suggerimento

correggo un errore presente nel codice HTML:
HTML:
<form method="post" action="uploading.php" enctype="multipart/form-data">
<!-- MAX_FILE_SIZE deve precedere il campo di input del nome file -->
    <input type="hidden" name="MAX_FILE_SIZE" value="10000">
    <input type="file" name="files[]" multiple="multiple"> <br />
    
    <label for="original_path">original path</label>
    <input type="text" name="original_path" value="" size="40" maxlength="255" /> <br />
    <input type="submit" value="Upload">
</form>
 
Ultima modifica:
ciao
indichi in un array i nomi delle cartelle su cui vuoi scegliere di salvare e usi un select a tendina
PHP:
<!-- ... -->
<select name="original_path">
<?php
$cartelle=array('pinco','pallo','sempronio');
foreach($cartelle as $cartella){
	echo "<option value=\"$cartella\">$cartella</option>";
}
?>
</select>
<!-- ... -->
lo "sfoglia" si ha solo per caricare i file
 
ciao
indichi in un array i nomi delle cartelle su cui vuoi scegliere di salvare e usi un select a tendina
PHP:
<!-- ... -->
<select name="original_path">
<?php
$cartelle=array('pinco','pallo','sempronio');
foreach($cartelle as $cartella){
	echo "<option value=\"$cartella\">$cartella</option>";
}
?>
</select>
<!-- ... -->
lo "sfoglia" si ha solo per caricare i file

Ottima soluzione alternativa, non ci avevo pensato...
mi hai dato un'idea, potrei utilizzare dir_recursive(), comunque ricavarmi le cartelle dalla directory interessata e popolare la tendina.

Grazie mille ;)
 
Lavorerò su questo:

PHP:
$dir = "mio_percorso";
$dirlist = glob($dir."\*",GLOB_ONLYDIR);

Grazias
 

Discussioni simili