Fare upload di file scegliendo la cartella di destinazione

Max61

Utente Attivo
2 Mar 2014
740
4
18
Non trova il campo directory
allego errore
Undefined variable: directory in C:\xampp\htdocs\ArchivioToponomastica\views\UploadDelibere.php on line 103

Gli va passato l'indirizzo che sta nel campo linkcartella, ma non mi riesce.

Pensavo di risolvere così
PHP:
$cartella_upload = $_SERVER['DOCUMENT_ROOT'].'/ArchivioToponomastica/views/'.$directory.'/'.$linkcartella;
ma non funziona il valore di linkcartella è 0
 
Ultima modifica:

akp

Utente Attivo
8 Giu 2015
133
0
16
Penso che non lo trova perchè non gli hai assegnato un valore. Se non sbaglio nella variabile $directory gli dovresti assegnare il valore che recuperi dal database
 

Max61

Utente Attivo
2 Mar 2014
740
4
18
Si ho anche provato a fare una select ma non recupero niente...sicuramente sbaglio qualcosa
 

akp

Utente Attivo
8 Giu 2015
133
0
16
Se il nome della certalla viene salvato correttamente nel database allora sara sbagliata la query.
Controlla che il nome della cartella sia salvato correttamente nel database.
Dopo controlla come fai la query.
 

Max61

Utente Attivo
2 Mar 2014
740
4
18
Il nome della cartella è corretto prende i valori dai campi che gli passo, la query per recuperare l'ultimo record inserito è questa:
PHP:
 $query = "SELECT linkcartella FROM tblfaldonitoponomastica WHERE id = $id"; 

		$ultimo_idlinkcartella = mysql_insert_id();
            //    ****************** ****************************************** ******************

			$linkcartella =$ultimo_idlinkcartella;	

			echo mysql_insert_id();
Sicuramente sbagliata...
Vedi se puoi aggiustarmela
Grazie
Max61
 

akp

Utente Attivo
8 Giu 2015
133
0
16
si è sbagliato. Allora
PHP:
//query che prende il valore linkcartella dell'ultimo record inserito
$query = "SELECT linkcartella FROM tblfaldonitoponomastica ORDER BY id DESC limit 1";

$record = mysql_fetch_array($query);

$linkcartella = $record['linkcartella'];
 

Max61

Utente Attivo
2 Mar 2014
740
4
18
Ci siamo quasi, adesso li mette nella cartella principale di nome Delibere insieme alle cartelle che creo, ma mi da ancora questo errore:
Undefined variable: directory in C:\xampp\htdocs\ArchivioToponomastica\views\UploadDelibere.php on line 64

Notice: Undefined variable: linkcartella in C:\xampp\htdocs\ArchivioToponomastica\views\UploadDelibere.php on line 64
 

akp

Utente Attivo
8 Giu 2015
133
0
16
evidentemente non viene assegnato il valore a linkcartella.
senza codice non riesco a capire
 

Max61

Utente Attivo
2 Mar 2014
740
4
18
codice:
PHP:
//query che prende il valore linkcartella dell'ultimo record inserito
$query = "SELECT linkcartella FROM tblfaldonitoponomastica ORDER BY id DESC limit 1";

$record = mysql_fetch_array($query);

$linkcartella = $record['linkcartella'];  
		//exit;
		
		
// settiamo alcune variabili coinvolte nello script:  
if (isset($_POST['directory'])) {  
  $directory = $_POST['directory'];
}

//$cartella_upload = $_SERVER['DOCUMENT_ROOT'].'/ArchivioToponomastica/views/'.$directory.'/';  
$cartella_upload = $_SERVER['DOCUMENT_ROOT'].'/ArchivioToponomastica/views/'.$directory.'/'.$linkcartella;  
//$cartella_upload = $_SERVER['DOCUMENT_ROOT'].'/ArchivioToponomastica/views/Delibere/';
 
// 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 = 99000000000000000000000;  
  
  
// 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!';  
      }  
   }
 

akp

Utente Attivo
8 Giu 2015
133
0
16
fai un echo di $linkcartella per controllare se gli viene assegnato il valore.
 

Max61

Utente Attivo
2 Mar 2014
740
4
18
Sempre lo stesso errore
Undefined variable: directory in C:\xampp\htdocs\ArchivioToponomastica\views\UploadDelibere.php on line 64

Notice: Undefined variable: linkcartella in C:\xampp\htdocs\ArchivioToponomastica\views\UploadDelibere.php on line 64
come se facesse la query
 

akp

Utente Attivo
8 Giu 2015
133
0
16
A me stampa la funzione che ti ho scritto. La linea 64 si riferisce a
PHP:
$linkcartella = $record['linkcartella'];
?

Inviato dal mio XT1068 utilizzando Tapatalk
 

Max61

Utente Attivo
2 Mar 2014
740
4
18
Ciao, ho provato il codice che allego
PHP:
<?php 
require 'Connessione.php';
 		
//query che prende il valore linkcartella dell'ultimo record inserito
$query = "SELECT linkcartella FROM tblfaldonitoponomastica ORDER BY id DESC limit 1";

$record = mysql_fetch_array($query);
 		
// settiamo alcune variabili coinvolte nello script:  
if (isset($_POST['linkcartella'])) {  
  //$directory = $_POST['directory'];
}

$cartella_upload = $_SERVER['DOCUMENT_ROOT'].'/ArchivioToponomastica/views/Delibere/'.$linkcartella.'/'; 
 
// 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 = 9900000000000000;  
  
  
// 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!';  
      }  
   }  
?>

Mi da questo errore
Warning: mysql_fetch_array() expects parameter 1 to be resource, string given in C:\xampp\htdocs\ArchivioToponomastica\views\UploadDelibere.php on line 62

[in questa riga:
PHP:
$record = mysql_fetch_array($query);

Ciao
 

akp

Utente Attivo
8 Giu 2015
133
0
16
Prova a scrivere
PHP:
$result=mysql_query($query);

$record = mysql_fetch_array($result,MYSQL_ASSOC);

Aggiungilo tra la query e la variabile linkcartella

Inviato dal mio XT1068 utilizzando Tapatalk
 

Max61

Utente Attivo
2 Mar 2014
740
4
18
adesso mi da questo errore
Notice: Undefined variable: linkcartella in C:\xampp\htdocs\ArchivioToponomastica\views\UploadDelibere.php on line 79
alla riga
PHP:
$cartella_upload = $_SERVER['DOCUMENT_ROOT'].'/ArchivioToponomastica/views/Delibere/'.$linkcartella.'/';
 
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
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 11
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
O Help, devo fare un sito web con alcune caratteristiche... HTML e CSS 2

Discussioni simili