upload d'un fichier csv sur le serveur
Posté : 06 juil. 2008, 20:55
Hello tlm,
j'ai bien lu votre tutoriel sur l'update d'un fichier mais je voudrais savoir comment supprimé l'étape du client qui fournit le chemin d'accès pour le fichier a loader sur le serveur. Le fichier que mon client doit charger sur le serveur sera tjs au moment endroit sur son poste. En gros je voudrai juste appuyer sur envoyé et que ça envois directement le ficher sur le serveur.
merci d'avance pour vos réponse.
voilà le code que j'ai pris sur votre tuto
j'ai bien lu votre tutoriel sur l'update d'un fichier mais je voudrais savoir comment supprimé l'étape du client qui fournit le chemin d'accès pour le fichier a loader sur le serveur. Le fichier que mon client doit charger sur le serveur sera tjs au moment endroit sur son poste. En gros je voudrai juste appuyer sur envoyé et que ça envois directement le ficher sur le serveur.
merci d'avance pour vos réponse.
voilà le code que j'ai pris sur votre tuto
Code : Tout sélectionner
<?php
/**
* function formatFileName
* @access public
* @param string - nom de fichier à formater
* @param int - longueur maximale autorisée pour le nom de fichier
* @return string - nom de fichier formaté
* @desc Tronque éventuellement le nom de fichier, le convertit en minuscules et
* y élimine les caractères potentiellement dangereux.
*/
function formatFileName($aFileName, $aMaxLength = 50) {
$aFileName = strToLower(subStr($aFileName, 0, $aMaxLength));
$aFileName = ereg_replace('[^a-zA-Z0-9,._\+\()\-]', '_', $aFileName);
return $aFileName;
} // end of function formatFileName() /2
/* PARAMETRES DE CONFIGURATION DU SCRIPT
*/
// chemin d'accès au répertoire d'upload (vers où le fichier uploadé temporaire sera transféré)
// ce répertoire doit EXISTER et être ACCESSIBLE EN ECRITURE !!
$destination_dir = '/var/www/html/upload';
// taille maximale en octets du fichier à uploader
$file_max_size = 100;
// extensions de fichiers autorisées
$authorized_extensions = array('jpg', 'gif');
/* TRAITEMENT PRINCIPAL
*/
// vérifie l'existence du répertoire de destination
if (!is_dir($destination_dir)) {
echo 'Veuillez indiquer un répertoire destination correct !';
die();
}
// vérifie que répertoire de destination a des droits en écriture
if (!is_writeable($destination_dir)) {
echo 'Veuillez spécifier des droits en écriture pour le répertoire destination !';
die();
}
// réception du formulaire
if (isSet($_POST['submitFile'])) {
// vérifie qu'un fichier a bien été soumis
if (isSet($_FILES) && is_array($_FILES)) {
// pas d'erreur lors de l'upload
if ($_FILES['aFile']['error'] == UPLOAD_ERR_OK) {
// vérifie la taille en octets
if ($_FILES['aFile']['size'] <= $file_max_size) {
// vérifie l'extension du fichier recu
// il est aussi possible (et sans doute mieux) de se baser sur $_FILES['aFile']['type']
// qui retourne le type MIME correspondant (par exemple: image/pjpeg)
$lastPos = strRChr($_FILES['aFile']['name'], ".");
if ($lastPos !== false && in_array(strToLower(subStr($lastPos, 1)), $authorized_extensions)) {
// définit un nom de fichier destination unique à partir du nom du fichier original formaté
$destination_file = time().formatFileName($_FILES['aFile']['name']);
// déplace le fichier uploadé du répertoire temporaire
// vers les répertoire/fichier destination spécifiés
if (move_uploaded_file($_FILES['aFile']['tmp_name'],
$destination_dir.DIRECTORY_SEPARATOR.$destination_file)) {
echo 'Fichier valide et uploadé correctement.';
} else { // error sur move_uploaded_file
echo 'Le fichier n\'a pas été uploadé correctement !';
}
} else { // pas d'extension ou mauvaise extension
echo 'Mauvaise extension !';
}
} else { // Taille maximale dépassée
echo 'Fichier trop volumineux !';
}
} else { // Erreur lors de l'upload
switch ($_FILES['aFile']['error']){
case UPLOAD_ERR_INI_SIZE:
echo 'Le fichier uploadé dépasse la valeur spécifiée
pour upload_max_filesize dans php.ini.';
break;
case UPLOAD_ERR_FORM_SIZE:
echo 'Le fichier uploadé dépasse la valeur spécifiée
pour MAX_FILE_SIZE dans le formulaire d\'upload.';
break;
case UPLOAD_ERR_PARTIAL:
echo 'Le fichier n\'a été que partiellement uploadé.';
break;
default:
echo 'Aucun fichier n\'a été uploadé.';
} // switch
}
} else { // aucun fichier reçu
echo 'Pas de fichier recu';
}
} // fin de réception de formulaire
?>