Eccomi ancora qui, scusate l'insistenza, non è che voglio la pappa fatta ma visto che di PHP non so nulla cerco di mettercela tutta per colmare in fretta questa lacuna. Ho trovato un bellissimo tutorial a questo indirizzo che sembra fare proprio al caso mio:
http://php.html.it/articoli/leggi/848/upload-con-php/3/
vorrei sapere quanto segue: (per favore non scoppiate a ridere....)
1) la spiegazione del file html con il pulsante di invio è chiarissima. Form.html il suo nome
2) come devo chiamare lo script PHP? posso chiamarlo come voglio? Quale è il criterio da usare?
3) il form in html e il file PHP devo risiedere nella stessa cartella? Presumo di no. La cartella deve essere del tipo CGI..etc. sul server remoto?
4) il settaggio del permesso va fatto sulla cartella sul server come per i CGI?
come avrete capito sono abbastanza confuso. Ad oggi ho solo progettato in html e un po di java script. L'unico form che ho imparato ad usare è il Formmail grazie alle indicazioni di Shishii ma questo script non è indicato per l'invio di immagini o files.
questo è il testo dello script PHP:
<?
// QUESTE RIGHE RENDONO LO SCRIPT COMPATIBILE CON LE VERSIONI
// DI PHP PRECEDENTI ALLA 4.1.0
if(!isset($_FILES)) $_FILES = $HTTP_POST_FILES;
if(!isset($_SERVER)) $_SERVER = $HTTP_SERVER_VARS;
/********************* VARIABILI DA SETTARE ********************/
// Directory dove salvare i files Uploadati ( chmod 777, percorso assoluto)
$upload_dir = $_SERVER["DOCUMENT_ROOT"] . "/upload";
// Eventuale nuovo nome da dare al file uploadato
$new_name = "";
// Se $new_name è vuota, il nome sarà lo stesso del file uploadato
$file_name = ($new_name) ? $new_name : $_FILES["upfile"]["name"];
if(trim($_FILES["upfile"]["name"]) == "") {
die("Non hai indicato il file da uploadare !");
}
if(@is_uploaded_file($_FILES["upfile"]["tmp_name"])) {
@move_uploaded_file($_FILES["upfile"]["tmp_name"], "$upload_dir/$file_name")
or die("Impossibile spostare il file, controlla l'esistenza o i permessi della directory dove fare l'upload.");
} else {
die("Problemi nell'upload del file " . $_FILES["upfile"]["name"]);
}
echo "L'upload del file " . $_FILES["upfile"]["name"] . " è avvenuto correttamente";
?>
non capisco bene la seguente spiegazione del settaggio delle variabili:
Le due variabili da settare sono rispettivamente:
la directory dove spostare i files uploadati ($upload_dir, da indicare con il percorso assoluto sul server e i cui permessi vanno settati a 777)
l'eventuale nuovo nome da dare al file che viene caricato sul server ($new_name; se non si vuole rinominare il file, questo avrà lo stesso nome che aveva sul computer client.)
per esempio, supponiamo che la directory residente sul server dove voglio che vadano a raccogliersi le immagini si chiami: archivio
e ancora, che istruzione devo indicare se voglio che le immagini uploadate dal sito anzichè andare nella cartella vengano inviate ad una data casella email?
grazie per la pazienza, vi saro' grato per le vostre delucidazioni.