par
Ariochs » 11 mai 2009, 10:38
Bonjour à tous.
Alors voila mon petit soucis, j'ai un formulaire avec possibilité d'envoi de fichiers. Tout est stocké dans ma BDD et ensuite je peux le récuperer. Petit hic, si une personne upload un fichier avec des accents, (par exemple idée.txt je vais avoir => idée.txt dans ma BDD et aussi le fichier que j'aurai récupéré sera nommé idée.txt.. ) ces derniers sont remplacés par des caracteres qui me plaise pas xD.
Je suppose que je dois faire quelque chose qui dis que si il y a un accent il remplace la lettre par une qui en a pas (exemple : é, è, ê => e). Seul poblème je ne vois pas comment faire..
Donc voici mon code :
<?php
// Connexion au serveur
include 'connectbdd.php';
//On teste si le formulaire est validé
if(isset($_POST['ok'])){
if(!empty($_POST['nom']) && !empty($_POST['prenom']) && !empty($_POST['mail'])){
// Teste si le fichier a bien été envoyé et s'il n'y a pas d'erreur
if (isset($_FILES['cv']) AND $_FILES['cv']['error'] == 0)
{
// Teste si le fichier n'est pas trop gros
if ($_FILES['cv']['size'] <= 5242880)
{
// Teste si l'extension est autorisée
$infosfichier = pathinfo($_FILES['cv']['name']);
$extension_upload = $infosfichier['extension'];
$extensions_autorisees = array('txt', 'doc', 'xls', 'xlsx', 'docx');
if (in_array($extension_upload, $extensions_autorisees))
{
$nom = $_POST['nom'];
// On peut valider le fichier et le stocker définitivement
move_uploaded_file($_FILES['cv']['tmp_name'], "cv/$nom"."_" . basename($_FILES['cv']['name']));
//echo "L'envoi a bien été effectué !";
$cv = "cv/$nom"."_".$_FILES['cv']['name'];
$prenom = $_POST['prenom'];
$mail = $_POST['mail'];
$contenu = $_POST['contenu'];
//Mise à jour de l'image
$sql = "INSERT INTO recrutement (nom,prenom,mail,cv,contenu) VALUES ('$nom' , '$prenom' , '$mail' , '$cv' , '$contenu')";
mysql_query($sql) or die(mysql_error());
}
else{
echo "L'extension de votre fichier est incorrecte";
}
}
else{
echo "Votre fichier est trop lourd.";
}
}
else{
echo "Problème d'envoi du fichier joint, veuillez contacter l'administrateur du site";
}
}
else{
echo "Merci de remplir tout les champs obligatoire";
}
}
?>
Merci pour votre aide
Bonjour à tous.
Alors voila mon petit soucis, j'ai un formulaire avec possibilité d'envoi de fichiers. Tout est stocké dans ma BDD et ensuite je peux le récuperer. Petit hic, si une personne upload un fichier avec des accents, (par exemple idée.txt je vais avoir => idée.txt dans ma BDD et aussi le fichier que j'aurai récupéré sera nommé idée.txt.. ) ces derniers sont remplacés par des caracteres qui me plaise pas xD.
Je suppose que je dois faire quelque chose qui dis que si il y a un accent il remplace la lettre par une qui en a pas (exemple : é, è, ê => e). Seul poblème je ne vois pas comment faire..
Donc voici mon code :
[php]<?php
// Connexion au serveur
include 'connectbdd.php';
//On teste si le formulaire est validé
if(isset($_POST['ok'])){
if(!empty($_POST['nom']) && !empty($_POST['prenom']) && !empty($_POST['mail'])){
// Teste si le fichier a bien été envoyé et s'il n'y a pas d'erreur
if (isset($_FILES['cv']) AND $_FILES['cv']['error'] == 0)
{
// Teste si le fichier n'est pas trop gros
if ($_FILES['cv']['size'] <= 5242880)
{
// Teste si l'extension est autorisée
$infosfichier = pathinfo($_FILES['cv']['name']);
$extension_upload = $infosfichier['extension'];
$extensions_autorisees = array('txt', 'doc', 'xls', 'xlsx', 'docx');
if (in_array($extension_upload, $extensions_autorisees))
{
$nom = $_POST['nom'];
// On peut valider le fichier et le stocker définitivement
move_uploaded_file($_FILES['cv']['tmp_name'], "cv/$nom"."_" . basename($_FILES['cv']['name']));
//echo "L'envoi a bien été effectué !";
$cv = "cv/$nom"."_".$_FILES['cv']['name'];
$prenom = $_POST['prenom'];
$mail = $_POST['mail'];
$contenu = $_POST['contenu'];
//Mise à jour de l'image
$sql = "INSERT INTO recrutement (nom,prenom,mail,cv,contenu) VALUES ('$nom' , '$prenom' , '$mail' , '$cv' , '$contenu')";
mysql_query($sql) or die(mysql_error());
}
else{
echo "L'extension de votre fichier est incorrecte";
}
}
else{
echo "Votre fichier est trop lourd.";
}
}
else{
echo "Problème d'envoi du fichier joint, veuillez contacter l'administrateur du site";
}
}
else{
echo "Merci de remplir tout les champs obligatoire";
}
}
?>[/php]
Merci pour votre aide