Fare upload di file scegliendo la cartella di destinazione

Max61

Utente Attivo
2 Mar 2014
714
3
18
Scusami se ti chiedo ancora aiuto, ma a questo punto le cartelle non le metto sotto la cartella Delibere ma la tengo dentro views, è meno bello ma funziona.
Una cosa ti volevo chiedere ma se voglio aggiungere un file all'interno di una cartella il cui record non è l'ultimo inserito, questa query come la devo modificare?
PHP:
$query = "SELECT linkcartella FROM tblfaldonitoponomastica ORDER BY id DESC limit 1";

Grazie
Max61
 

akp

Utente Attivo
8 Giu 2015
133
0
16
Protesti farti ritornare tutti i record e inserirli in in una select in modo tale da poter scegliere la cartella quando vuoi inserire i file

Inviato dal mio XT1068 utilizzando Tapatalk
 

Max61

Utente Attivo
2 Mar 2014
714
3
18
Ciao, ho fatto la select e vedo i nomi delle cartelle inserite
PHP:
$Query1="SELECT id, linkcartella
FROM tblfaldonitoponomastica
GROUP BY linkcartella
ORDER BY linkcartella";

       //esecuzione della query 
     	   [email protected]_query($Query1) or die (mysql_error());
       if(!$Leggi_linkcartella)
         print("<H2>Query fallita!</H2>");
       else
	   echo "<select name='linkcartella' id='linkcartellaid'>";//Genera casella a discesa
	   while ($row = mysql_fetch_array($Leggi_linkcartella)) 
{ 
$linkcartella = $row['linkcartella'];

echo "<option value =\"$linkcartella\">$linkcartella </option>"; //Popola casella
}

echo "value=$linkcartella </select>"; 	
//query che prende il valore linkcartella 
$query = "SELECT linkcartella FROM tblfaldonitoponomastica WHERE id='$id'";

//var_dump ( $query ); 
$result=mysql_query($query);

$record = mysql_fetch_array($result,MYSQL_ASSOC); 
$linkcartella=$record['linkcartella']; 
  

// settiamo alcune variabili coinvolte nello script:  
if (isset($_POST['linkcartella'])) {  
}
 
$cartella_upload = $_SERVER['DOCUMENT_ROOT'].'/ArchivioToponomastica/views/'.$linkcartella.'/'; 
//var_dump ( $query );
 echo "Cartella su cui andrai a salvare i files: <br> ", $linkcartella;
 echo "<br><br><br><br>";

// 2) settiamo un array in cui indichiamo il tipo di file che consentiamo l'upload  
$tipi_consentiti = array("xls","xlsx","doc","docx","pdf");   
    
// 3) settiamo la dimensione massima del file (1048576 byte = 1Mb)  
$max_byte = 990000000;  
  
// se il form è stato inviato  
if(isset($_POST['up']) and isset($_FILES["upload"]))  
   {  
   // verifichiamo che l'utente abbia selezionato un file  
   if(trim($_FILES["upload"]["name"]) == '')  
      {  
      echo 'Non hai selezionato nessun file!';  
      }  
  
   // verifichiamo che il file è stato caricato  
   else if(!is_uploaded_file($_FILES["upload"]["tmp_name"]) or $_FILES["upload"]["error"]>0)  
      {  
      echo 'Si sono verificati problemi nella procedura di upload!';  
      }  
  
   // verifichiamo che il tipo è fra quelli consentiti  
   else if(!in_array(strtolower(end(explode('.', $_FILES["upload"]["name"]))),$tipi_consentiti))  
      {  
      echo 'Il file che si desidera uplodare non è fra i tipi consentiti!';  
      }  
  
   // verifichiamo che la dimensione del file non eccede quella massima  
   else if($_FILES["upload"]["size"] > $max_byte)  
      {  
      echo 'Il file che si desidera uplodare eccede la dimensione massima!';  
      }  
      
    // verifichiamo che la cartella di destinazione settata esista  
    else if(!is_dir($cartella_upload))  
        {  
        echo 'La cartella in cui si desidera salvare il file non esiste!';  
        }  
      
    // verifichiamo che la cartella di destinazione abbia i permessi di scrittura  
    else if(!is_writable($cartella_upload))  
        {  
        echo "La cartella in cui fare l'upload non ha i permessi!";  
        }  
   // verifichiamo il successo della procedura di upload nella cartella settata  
   else if(!move_uploaded_file($_FILES["upload"]["tmp_name"], $cartella_upload.$_FILES["upload"]["name"]))  
      {  
      echo 'Ops qualcosa è andato storto nella procedura di upload!';  
      }  
  
   // altrimenti significa che è andato tutto ok  
   else  
      { 
	  echo "<h1><span style=\"color:red; font-size: 16pt\"> Upload eseguito correttamente! </h1></span><br>"; 
	  //echo 'Upload eseguito correttamente!';  
      }  
   }

però non carica il file nella cartella della select ma dentro la cartella views.
Mi dai una dritta?
Grazie
Max61
 
Ultima modifica:

akp

Utente Attivo
8 Giu 2015
133
0
16
la select la devi mettere nel form in modo tale da reuperare il valore con il POST
qua non c'è bisogno che metti value
PHP:
echo "value=$linkcartella </select>";
lascia solo
PHP:
echo "</select>";

poi per recuperare il valore fai
PHP:
if(isset($_POST['linkcartella'])) {
$cartellaselezionata = $_POST['linkcartella'];
}
questa query non ha senso dato che il nome della cartella lo recuperi all'inizio :
PHP:
//query che prende il valore linkcartella 
$query = "SELECT linkcartella FROM tblfaldonitoponomastica WHERE id='$id'";

//var_dump ( $query ); 
$result=mysql_query($query);

$record = mysql_fetch_array($result,MYSQL_ASSOC); 
$linkcartella=$record['linkcartella'];

quindi adesso la variabile diventa :
PHP:
$cartella_upload = $_SERVER['DOCUMENT_ROOT'].'/ArchivioToponomastica/views/'.$cartellaselezionata.'/';
 
Ultima modifica:

Max61

Utente Attivo
2 Mar 2014
714
3
18
la select la devi mettere nel form in modo tale da reuperare il valore con il POST
qua non c'è bisogno che metti value
PHP:
echo "value=$linkcartella </select>";
lascia solo
PHP:
echo "</select>";

poi per recuperare il valore fai
PHP:
if(isset($_POST['linkcartella'])) {
$cartellaselezionata = $_POST['linkcartella'];
}
questa query non ha senso dato che il nome della cartella lo recuperi all'inizio :
PHP:
//query che prende il valore linkcartella 
$query = "SELECT linkcartella FROM tblfaldonitoponomastica WHERE id='$id'";

//var_dump ( $query ); 
$result=mysql_query($query);

$record = mysql_fetch_array($result,MYSQL_ASSOC); 
$linkcartella=$record['linkcartella'];

quindi adesso la variabile diventa :
PHP:
$cartella_upload = $_SERVER['DOCUMENT_ROOT'].'/ArchivioToponomastica/views/'.$cartellaselezionata.'/';



Ciao e grazie ancora per la pazienza, ho provato il codice che allego per vedere se ho capito bene quello che hai scritto
PHP:
$Query1="SELECT id, linkcartella
FROM tblfaldonitoponomastica
GROUP BY linkcartella
ORDER BY linkcartella";

       //esecuzione della query 
     	   [email protected]_query($Query1) or die (mysql_error());
       if(!$Leggi_linkcartella)
         print("<H2>Query fallita!</H2>");
       else
	   echo "<select name='linkcartella' id='linkcartellaid'>";//Genera casella a discesa
	   while ($row = mysql_fetch_array($Leggi_linkcartella)) 
{ 
$linkcartella = $row['linkcartella'];

echo "<option value =\"$linkcartella\">$linkcartella </option>"; //Popola casella
}

echo "</select>";  


// settiamo alcune variabili coinvolte nello script:  
if(isset($_POST['linkcartella'])) {
$cartellaselezionata = $_POST['linkcartella'];
}  
 
$cartella_upload = $_SERVER['DOCUMENT_ROOT'].'/ArchivioToponomastica/views/'.$cartellaselezionata.'/';  
//var_dump ( $query );
 echo "Cartella su cui andrai a salvare i files: <br> ", $linkcartella;
 echo "<br><br><br><br>";

// 2) settiamo un array in cui indichiamo il tipo di file che consentiamo l'upload  
$tipi_consentiti = array("xls","xlsx","doc","docx","pdf");   
    
// 3) settiamo la dimensione massima del file (1048576 byte = 1Mb)  
$max_byte = 990000000;  
  
// se il form è stato inviato  
if(isset($_POST['up']) and isset($_FILES["upload"]))  
   {  
   // verifichiamo che l'utente abbia selezionato un file  
   if(trim($_FILES["upload"]["name"]) == '')  
      {  
      echo 'Non hai selezionato nessun file!';  
      }  
  
   // verifichiamo che il file è stato caricato  
   else if(!is_uploaded_file($_FILES["upload"]["tmp_name"]) or $_FILES["upload"]["error"]>0)  
      {  
      echo 'Si sono verificati problemi nella procedura di upload!';  
      }  
  
   // verifichiamo che il tipo è fra quelli consentiti  
   else if(!in_array(strtolower(end(explode('.', $_FILES["upload"]["name"]))),$tipi_consentiti))  
      {  
      echo 'Il file che si desidera uplodare non è fra i tipi consentiti!';  
      }  
  
   // verifichiamo che la dimensione del file non eccede quella massima  
   else if($_FILES["upload"]["size"] > $max_byte)  
      {  
      echo 'Il file che si desidera uplodare eccede la dimensione massima!';  
      }  
      
    // verifichiamo che la cartella di destinazione settata esista  
    else if(!is_dir($cartella_upload))  
        {  
        echo 'La cartella in cui si desidera salvare il file non esiste!';  
        }  
      
    // verifichiamo che la cartella di destinazione abbia i permessi di scrittura  
    else if(!is_writable($cartella_upload))  
        {  
        echo "La cartella in cui fare l'upload non ha i permessi!";  
        }  
   // verifichiamo il successo della procedura di upload nella cartella settata  
   else if(!move_uploaded_file($_FILES["upload"]["tmp_name"], $cartella_upload.$_FILES["upload"]["name"]))  
      {  
      echo 'Ops qualcosa è andato storto nella procedura di upload!';  
      }  
  
   // altrimenti significa che è andato tutto ok  
   else  
      { 
	  echo "<h1><span style=\"color:red; font-size: 16pt\"> Upload eseguito correttamente! </h1></span><br>"; 
	  //echo 'Upload eseguito correttamente!';  
      }  
   }

però mi da questo errore
Notice: Undefined variable: cartellaselezionata in C:\xampp\htdocs\ArchivioToponomastica\views\UploadDelibereEdit.php on line 84
 

akp

Utente Attivo
8 Giu 2015
133
0
16
la select la devi mettere nel form dove fai anche l'upload
PHP:
<form>
//upload
//select
</form>
 

Max61

Utente Attivo
2 Mar 2014
714
3
18
si si l'ho messa li ho anche aggiunto
PHP:
<form>
//upload
//select
</form>
ma fa il solito errore
 

akp

Utente Attivo
8 Giu 2015
133
0
16
fai un echo qui dentro
PHP:
// settiamo alcune variabili coinvolte nello script:  
if(isset($_POST['linkcartella'])) {
$cartellaselezionata = $_POST['linkcartella'];
}
 

Max61

Utente Attivo
2 Mar 2014
714
3
18
PHP:
$cartella_upload = $_SERVER['DOCUMENT_ROOT'].'/ArchivioToponomastica/views/'.$cartellaselezionata.'/';
Notice: Undefined variable: cartellaselezionata in C:\xampp\htdocs\ArchivioToponomastica\views\UploadDelibereEdit.php on line 86
 
Ultima modifica:

akp

Utente Attivo
8 Giu 2015
133
0
16
Non lo so perchè ti da quell'errore. L'unica cosa che mi viene in mente è di provare a levare
PHP:
 $_SERVER['DOCUMENT_ROOT'].
e gli inserisci tu il percorso
 

akp

Utente Attivo
8 Giu 2015
133
0
16
se metti un echo di $cartellaselezionata dopo
PHP:
if(isset($_POST['linkcartella'])) {
$cartellaselezionata = $_POST['linkcartella'];
}
cosa ti da?
 

Max61

Utente Attivo
2 Mar 2014
714
3
18
mi da errore sul rigo dell' echo
Notice: Undefined variable: cartellaselezionata in C:\xampp\htdocs\ArchivioToponomastica\views\UploadDelibereEdit.php on line 84
 

akp

Utente Attivo
8 Giu 2015
133
0
16
Mi sembra strano che dentro l'if la riconosce e stampa la cartella, mentre fuori dall'if ti da l'errore. Non so più come poterti aiutare
 

Max61

Utente Attivo
2 Mar 2014
714
3
18
Ciao akp ci sono riuscito, stamani ho spostato la query SELECT che era nella form di upload nella form di edit e tramite href ho recuperato l'id e l'ho inviato alla form upload e adesso funziona perfettamente, addirittura adesso prende anche lo slash e quindi salvo le cartelle dentro la cartella Delibere come avevo pensato di fare inizialmente. Visto l'aiuto che mi hai dato ho pensato fosse doveroso farti partecipe. Ciao e ancora grazie.
Max61
 

akp

Utente Attivo
8 Giu 2015
133
0
16
Sono contento che hai sistemato, grazie di avermi aggiornato;)

Inviato dal mio XT1068 utilizzando Tapatalk
 
Discussioni simili
Autore Titolo Forum Risposte Data
M Rinominare filename immagine prima di fare l'upload PHP 2
C cerco consigli per fare upload HTML e CSS 8
R [C#] Fare varie operazioni nel proprio account Facebook .NET Framework 0
M Come fare un countdown in HTML? HTML e CSS 4
C Io acquisto locale,riportare persone a fare acquisti locali Discussioni Varie 0
M Quando ha l'immagine ingrandita è possibile fare rotazione per ritagliare? Photoshop 0
W fare la somma di un valore estratto da un ciclo while Classic ASP 0
G Fare uno sfondo con il prato e degli alberi Photoshop 0
G Contratto TIM e continue rimodulazioni, cosa si può fare? Leggi, Normative e Fisco 3
P Vorrei fare un ripetitore di Internet Reti LAN e Wireless 3
B Fare calcoli con php da tabella mysql PHP 2
Web93 RICHIESTA CONSIGLIO - FARE UN SITO WEB CMS (Content Management System) 1
S [PHP] Estrarre dati da tabella e fare la media ad intervalli di tempo PHP 10
M [PHP] Modi per fare redirect 301 da http a https PHP 12
C [Photoshop] bordi tondi come posso fare per ottenerli come nell'immagine allegata Photoshop 2
M [Javascript] Verifica calcolo prima di fare insert Javascript 13
D [ASP] si può fare? Classic ASP 29
D [WordPress] come fare per estrarre dati da un db MySQL tramite una form e visualizzare il risultato WordPress 0
W inclusioni css in eccesso, cosa fare? HTML e CSS 1
M [PHP] Metodo migliore per fare login a un DB Mysql PHP 1
P [Gratuito][Cerco] qualcuno per fare menu a tendina ottimizzato per mobile-responsive con css e html Offerte e Richieste di Lavoro e/o Collaborazione 3
S Miglior regalo da fare ad un programmatore Discussioni Varie 6
M [WordPress] [HTML] INTEGRARE GESTIONALE IMMOBILIARE SU UN SITO WEB DA FARE WordPress 0
T PHP: aggiunta a query che non so fare... PHP 2
M [cosa fare?] pagina facebook Social Media Marketing 1
G Fare scaricare con M.O. solo la posta nuova. Posta Elettronica 3
G Vuoi fare successo? Abbiamo bisogno di aiuto per un app! Offerte e Richieste di Lavoro e/o Collaborazione 1
A [PHP] Fare tableau prenotazioni Hotel PHP 4
P Javascript, ricevere responso da PHP. Come fare? Javascript 1
R Può secondo voi un sito essere nella seconda pagina e non fare traffico? SEO e Posizionamento 3
booklisa Errore 403 - che fare? CMS (Content Management System) 1
S Come fare 5000 amici evitando il ban? Social Media Marketing 2
M Consigli prima di fare qualsiasi passo Domini 8
M [PHP] selezionare dati da db e fare confronti PHP 0
otto9due Si può fare questa cosa qui.. :P ( this > p ) jQuery 1
S [PHP] Interazione tra due finestre. Come fare? PHP 4
I COME POSSO FARE PER ORGANIZZARE LA PRODUZIONE SU EBAY??? Discussioni Varie 2
2 Come fare disdetta sky Adsl e Connettività 1
L Fare sparire un sito dalle ricerche SEO e Posizionamento 4
G Come si a fare una riga con pallini con photoshop? Photoshop 1
G Errori PHP è possibile fare un redirect ad una pagina d'errore? PHP 3
B Stilizzazione vecchio logo, come fare?? Photoshop 3
R amministratori di forum disposti a fare marketing per conto terzi Email Marketing 0
M Fare query prendendo i dati da 3 tabelle PHP 2
S Utilizzare la funzione postmessage per fare un redirect Javascript 0
U Fare una chiamata post con Angularjs Javascript 3
matteoraggi Foto di un sito finite in siti spam, che fare? Webdesign e Grafica 3
V titolo più immagine - come fare? HTML e CSS 7
L Fare siti web PHP 5
catellostefano Non so che tipo di querly fare MySQL 3

Discussioni simili