MRW.it Forum
  • Home
  • Forum
  • Fare Web
  • PHP

Fare upload di file scegliendo la cartella di destinazione

  • Creatore Discussione Creatore Discussione Max61
  • Data di inizio Data di inizio 4 Mar 2016
Prec.
  • 1
  • 2
  • 3
  • 4
Primo Prec. 4 di 4
M

Max61

Utente Attivo
2 Mar 2014
760
4
18
  • 9 Mar 2016
  • #61
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
 
Ad
A

akp

Utente Attivo
8 Giu 2015
133
0
16
  • 9 Mar 2016
  • #62
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
 
M

Max61

Utente Attivo
2 Mar 2014
760
4
18
  • 9 Mar 2016
  • #63
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 
     	   $Leggi_linkcartella=@mysql_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: 9 Mar 2016
A

akp

Utente Attivo
8 Giu 2015
133
0
16
  • 9 Mar 2016
  • #64
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: 9 Mar 2016
M

Max61

Utente Attivo
2 Mar 2014
760
4
18
  • 9 Mar 2016
  • #65
akp ha scritto:
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.'/';
Clicca per allargare...



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 
     	   $Leggi_linkcartella=@mysql_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
 
A

akp

Utente Attivo
8 Giu 2015
133
0
16
  • 9 Mar 2016
  • #66
la select la devi mettere nel form dove fai anche l'upload
PHP:
<form>
//upload
//select
</form>
 
M

Max61

Utente Attivo
2 Mar 2014
760
4
18
  • 9 Mar 2016
  • #67
si si l'ho messa li ho anche aggiunto
PHP:
<form>
//upload
//select
</form>
ma fa il solito errore
 
A

akp

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

Max61

Utente Attivo
2 Mar 2014
760
4
18
  • 9 Mar 2016
  • #69
Mi da il nome corretto dell'ultima cartella inserita
 
A

akp

Utente Attivo
8 Giu 2015
133
0
16
  • 9 Mar 2016
  • #70
ma quindi l'errore su quale riga te lo da? postami la riga
 
M

Max61

Utente Attivo
2 Mar 2014
760
4
18
  • 9 Mar 2016
  • #71
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: 9 Mar 2016
A

akp

Utente Attivo
8 Giu 2015
133
0
16
  • 9 Mar 2016
  • #72
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
 
M

Max61

Utente Attivo
2 Mar 2014
760
4
18
  • 9 Mar 2016
  • #73
levato, non cambia nulla
 
A

akp

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

Max61

Utente Attivo
2 Mar 2014
760
4
18
  • 9 Mar 2016
  • #75
mi da errore sul rigo dell' echo
Notice: Undefined variable: cartellaselezionata in C:\xampp\htdocs\ArchivioToponomastica\views\UploadDelibereEdit.php on line 84
 
A

akp

Utente Attivo
8 Giu 2015
133
0
16
  • 9 Mar 2016
  • #76
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
 
M

Max61

Utente Attivo
2 Mar 2014
760
4
18
  • 9 Mar 2016
  • #77
Grazie, buona serata
max61
 
M

Max61

Utente Attivo
2 Mar 2014
760
4
18
  • 10 Mar 2016
  • #78
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
 
A

akp

Utente Attivo
8 Giu 2015
133
0
16
  • 10 Mar 2016
  • #79
Sono contento che hai sistemato, grazie di avermi aggiornato

Inviato dal mio XT1068 utilizzando Tapatalk
 
Prec.
  • 1
  • 2
  • 3
  • 4
Primo Prec. 4 di 4
Devi accedere o registrarti per poter rispondere.

Discussioni simili

M
Rinominare filename immagine prima di fare l'upload
  • Marco Bonanno
  • 7 Mar 2015
  • PHP
Risposte
2
Visite
3K
PHP 10 Mar 2015
Marco Bonanno
M
C
cerco consigli per fare upload
  • contearis
  • 22 Gen 2006
  • HTML e CSS
Risposte
8
Visite
2K
HTML e CSS 18 Feb 2006
metalgemini
R
[C#] Fare varie operazioni nel proprio account Facebook
  • race
  • 18 Mag 2021
  • .NET Framework
Risposte
0
Visite
2K
.NET Framework 18 Mag 2021
race
R
M
Come fare un countdown in HTML?
  • m.pittini
  • 5 Feb 2021
  • HTML e CSS
Risposte
4
Visite
4K
HTML e CSS 8 Feb 2021
maxbossi
M
Quando ha l'immagine ingrandita è possibile fare rotazione per ritagliare?
  • Martino Papesso
  • 24 Ott 2020
  • Photoshop
Risposte
0
Visite
1K
Photoshop 24 Ott 2020
Martino Papesso
M
W
fare la somma di un valore estratto da un ciclo while
  • wuolfit_one
  • 8 Lug 2020
  • Classic ASP
Risposte
0
Visite
2K
Classic ASP 8 Lug 2020
wuolfit_one
W
G
Fare uno sfondo con il prato e degli alberi
  • Giovannino60
  • 8 Mag 2020
  • Photoshop
Risposte
0
Visite
1K
Photoshop 8 Mag 2020
Giovannino60
G
G
Contratto TIM e continue rimodulazioni, cosa si può fare?
  • gigihouse2008
  • 30 Apr 2020
  • Leggi, Normative e Fisco
Risposte
3
Visite
2K
Leggi, Normative e Fisco 10 Mag 2020
Max 1
P
Vorrei fare un ripetitore di Internet
  • paolalopez118
  • 8 Apr 2020
  • Reti LAN e Wireless
Risposte
3
Visite
2K
Reti LAN e Wireless 30 Lug 2020
yatahaze
Y
B
Fare calcoli con php da tabella mysql
  • bipolare75
  • 4 Gen 2020
  • PHP
Risposte
2
Visite
1K
PHP 5 Gen 2020
macus_adi
RICHIESTA CONSIGLIO - FARE UN SITO WEB
  • Web93
  • 19 Nov 2019
  • CMS (Content Management System)
Risposte
1
Visite
1K
CMS (Content Management System) 20 Nov 2019
Max 1
S
[PHP] Estrarre dati da tabella e fare la media ad intervalli di tempo
  • samurai.sette
  • 9 Nov 2019
  • PHP
Risposte
11
Visite
3K
PHP 4 Ott 2023
samurai.sette
S
M
[PHP] Modi per fare redirect 301 da http a https
  • Maria Maria
  • 13 Apr 2019
  • PHP
Risposte
12
Visite
2K
PHP 16 Apr 2019
Maria Maria
M
C
[Photoshop] bordi tondi come posso fare per ottenerli come nell'immagine allegata
  • coedam
  • 28 Feb 2019
  • Photoshop
Risposte
2
Visite
2K
Photoshop 7 Mar 2019
coedam
C
M
[Javascript] Verifica calcolo prima di fare insert
  • Max61
  • 20 Feb 2019
  • Javascript
Risposte
13
Visite
3K
Javascript 28 Feb 2019
Max61
M
D
[ASP] si può fare?
  • dariov
  • 14 Gen 2019
  • Classic ASP
  • 2
Risposte
29
Visite
5K
Classic ASP 24 Feb 2019
vic53
V
D
[WordPress] come fare per estrarre dati da un db MySQL tramite una form e visualizzare il risultato
  • dariotoby
  • 25 Dic 2018
  • WordPress
Risposte
0
Visite
3K
WordPress 25 Dic 2018
dariotoby
D
W
inclusioni css in eccesso, cosa fare?
  • w_t
  • 21 Ott 2018
  • HTML e CSS
Risposte
1
Visite
1K
HTML e CSS 22 Ott 2018
Max 1
M
[PHP] Metodo migliore per fare login a un DB Mysql
  • Marco Ginato
  • 4 Set 2018
  • PHP
Risposte
1
Visite
2K
PHP 5 Set 2018
marino51
P
[Gratuito][Cerco] qualcuno per fare menu a tendina ottimizzato per mobile-responsive con css e html
  • podset
  • 15 Lug 2018
  • Offerte e Richieste di Lavoro e/o Collaborazione
Risposte
3
Visite
2K
Offerte e Richieste di Lavoro e/o Collaborazione 17 Lug 2018
podset
P
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • PHP
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?