Autore Topic: Upload file  (Letto 1488 volte)

Offline rose9392

  • Nuovo arrivato
  • *
  • Post: 20
    • Mostra profilo
Upload file
« il: 02 Mag 2015, 19:33:10 »
Ciao,
sto creando un nuovo componente che deve anche dare la possibilità di caricare immagini...

nel template è definita questa form
Codice: [Seleziona]
<form method="post" name="vetrina_frm" encrype="multipart/form-data">
<label for="name">Carica la tua immagine</label>
<input type="file" name="myfile" />
<button type="submit">Submit</button>

quando viene richiamata la funzione relativa dopo aver premuto su submit, questo comando mi risulta un array vuoto
Codice: [Seleziona]
print_r($_FILES);
p.s. ho già controllato che nel file php.ini la variabile  file_uploads  sia su On

Offline rose9392

  • Nuovo arrivato
  • *
  • Post: 20
    • Mostra profilo
Re:Upload file
« Risposta #1 il: 02 Mag 2015, 19:38:15 »
ho capito... piccolo errore di scrittura su encrype......

Nonostante questa modifica, l'immagine non viene salvata nella destinazione predefinita

Codice: [Seleziona]
jimport('joomla.filesystem.file');
jimport('joomla.filesystem.folder');
print_r($_FILES);
$filename=$_FILES['myfile']['name'];
$fileTempPath=$_FILES['myfile']['tmp_name'];
$uploadPath=JPATH_SITE.'/media/com_vetrina/images/'.$filename;
if(JFile::upload($fileTempPath, $uploadPath)){
//your logic like insert into database
echo "Upload success";
}else
{
echo "Upload faild";
}



La funzione si conclude correttamente, ma nella cartella di destinazione non viene salvata l'immagine
« Ultima modifica: 02 Mag 2015, 20:24:20 da rose9392 »

Offline rose9392

  • Nuovo arrivato
  • *
  • Post: 20
    • Mostra profilo
Re:Upload file
« Risposta #2 il: 02 Mag 2015, 23:38:39 »
Il problema stava proprio nel path: le barre erano nel verso contrario...

Il percorso corretto l'ho impostato con la seguente sintassi

$uploadPath=JPATH_SITE."\\media\\com_vetrina\\images\\".$filename;
« Ultima modifica: 04 Mag 2015, 00:13:52 da rose9392 »

Offline steganoga

  • Abituale
  • ****
  • Post: 1313
    • Mostra profilo
Re:Upload file
« Risposta #3 il: 03 Mag 2015, 15:41:28 »
no, anche la sintassi usata quì è sbagliata ... doppi slash... doppi apici non bilanciati...
...sono dove non ti aspetti di trovarmi, mi alimento della tua supponenza e disseto la mia curiosità nel silenzio.
Non sono un nemico, considerami un ospite.

Offline rose9392

  • Nuovo arrivato
  • *
  • Post: 20
    • Mostra profilo
Re:Upload file
« Risposta #4 il: 03 Mag 2015, 15:48:39 »
???

A me funziona lo script, perché dici che è sbagliato?

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
Re:Upload file
« Risposta #5 il: 13 Mag 2015, 12:29:22 »
Giacchè sei all'interno di Joomla, puoi di utilizare i metodi id JInput per ottenere i file caricati: https://docs.joomla.org/Retrieving_request_data_using_JInput - Consulta la sezione "Retrieving File Data"

Per quanto riguarda la direzione dei separatori di path, poiché non puoi conoscere a priori il tipo di server che ospiterà joomla ed il tuo componente, puoi utilizzare la costante predefinita "DIRECTORY_SEPARATOR" di php al posto di "/" e "\".

 

Host

Torna su