if(!isset($_FILES) || $_FILES['nom_input_file']['tmp_name'] == "")
{
//instruction pour enregistrer un autre fichier déjà présent sur le serveur sans utiliser la variable $_FILES.
}
<input type="hidden" name="MAX_FILE_SIZE" value="100000" />Inserez une <b>photo</b> si vous le souhaitez <br>
<font size="2">(format reconnu JPEG ou GIF, poid de la photo 100ko maximun)</font>
<input type="file" name="aFile" />
et d'autres champs,if(isset($_POST['aFile']))
{
$FILE = $_POST['aFile'];
}
else
{
$FILE = '';
}
function formatFileName($aFileName, $aMaxLength = 50) {
$aFileName = strToLower(subStr($aFileName, 0, $aMaxLength));
$aFileName = ereg_replace('[^a-zA-Z0-9,._\+\()\-]', '_', $aFileName);
return $aFileName;
}
$destination_dir = '../consultation/photo/';
$file_max_size = 100000;
$authorized_extensions = array('jpg', 'gif');
if (!is_dir($destination_dir)) {
echo 'Veuillez indiquer un répertoire destination correct !'; die();
}
if (!is_writeable($destination_dir)) {
echo 'Veuillez spécifier des droits en écriture pour le répertoire destination !'; die();
}
if (isSet($_POST['submitFile'])) {
if (isSet($_FILES) && is_array($_FILES)) {
if ($_FILES['aFile']['error'] == UPLOAD_ERR_OK) {
if ($_FILES['aFile']['size'] <= $file_max_size) {
$lastPos = strRChr($_FILES['aFile']['name'], ".");
if ($lastPos !== false && in_array(strToLower(subStr($lastPos, 1)), $authorized_extensions)) {
$destination_file = time().formatFileName($_FILES['aFile']['name']);
if (move_uploaded_file($_FILES['aFile']['tmp_name'],
$destination_dir.DIRECTORY_SEPARATOR.$destination_file)) {
echo 'Votre annonce nous est bien parvenue et notre service la enregistrée avec votre photo.';
} else {echo 'La photo n\'a pas été envoyée correctement !'; }
} else {echo 'Mauvaise extension !'; }
} else {echo 'Photo trop volumineuse !'; }
} else {switch ($_FILES['aFile']['error']){
case UPLOAD_ERR_INI_SIZE:
echo 'La photo envoyée dépasse la valeur spécifiée pour upload_max_filesize dans php.ini.';
break;
case UPLOAD_ERR_FORM_SIZE:
echo 'La photo na pas été envoyée, elle dépasse 100 ko.';
break;
case UPLOAD_ERR_PARTIAL:
echo 'La photo n\'a été que partiellement envoyée.';
break;
default:
echo 'Votre annonce nous est bien parvenue et notre service la enregistrée sans photo.'; } }
} else { echo 'Pas de photo recu'; } }
if(isset($_FILES['aFile']['name']))
{
$destination_file = time().formatFileName($_FILES['aFile']['name']);
}
else
{
$destination_file = "";
}
$destination_lect = '../photo/';
$db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd);
if(!$db_link) {echo "Connexion impossible à la base de données <b>$sql_bdd</b> sur le serveur <b>$sql_server</b><br>Vérifiez les paramètres du fichier"; exit;}
$result=mysql_db_query($sql_bdd,"INSERT INTO ann VALUES ('','$destination_lect$destination_file')",$db_link) or die(mysql_error());
$id= mysql_insert_id();
print "<br>Lisez bien ce qui suit!";
mysql_close($db_link);
<?
function formatFileName($aFileName, $aMaxLength = 50)
{
$aFileName = strToLower(subStr($aFileName, 0, $aMaxLength));
$aFileName = ereg_replace('[^a-zA-Z0-9,._\+\()\-]', '_', $aFileName);
return $aFileName;
}
$destination_dir = '../consultation/photo/';
$file_max_size = 100000;
$authorized_extensions = array('jpg', 'gif');
if (!is_dir($destination_dir))
{
echo 'Veuillez indiquer un répertoire destination correct !'; die();
}
if (!is_writeable($destination_dir))
{
echo 'Veuillez spécifier des droits en écriture pour le répertoire destination !'; die();
}
if (isSet($_POST['submitFile']))
{
if (isSet($_FILES) && is_array($_FILES))
{
if ($_FILES['aFile']['error'] == UPLOAD_ERR_OK)
{
if ($_FILES['aFile']['size'] <= $file_max_size)
{
$lastPos = strRChr($_FILES['aFile']['name'], ".");
if ($lastPos !== false && in_array(strToLower(subStr($lastPos, 1)), $authorized_extensions))
{
$destination_file = time().formatFileName($_FILES['aFile']['name']);
if (move_uploaded_file($_FILES['aFile']['tmp_name'],$destination_dir.DIRECTORY_SEPARATOR.$destination_file))
{
echo 'Votre annonce nous est bien parvenue et notre service la enregistrée avec votre photo.';
}
else
{
echo 'La photo n\'a pas été envoyée correctement !';
}
}
else
{
echo 'Mauvaise extension !';
}
}
else
{
echo 'Photo trop volumineuse !';
}
}
else
{
switch ($_FILES['aFile']['error'])
{
case UPLOAD_ERR_INI_SIZE:
echo 'La photo envoyée dépasse la valeur spécifiée pour upload_max_filesize dans php.ini.';
break;
case UPLOAD_ERR_FORM_SIZE:
echo 'La photo na pas été envoyée, elle dépasse 100 ko.';
break;
case UPLOAD_ERR_PARTIAL:
echo 'La photo n\'a été que partiellement envoyée.';
break;
default:
echo 'Votre annonce nous est bien parvenue et notre service la enregistrée sans photo.';
}
}
}
else
{
echo 'Pas de photo recu';
}
}
if(isset($_FILES['aFile']['name']))
{
$destination_file = time().formatFileName($_FILES['aFile']['name']);
}
else
{
$destination_file = "photo.jpg";
}
$destination_lect = '../photo/';
$db_link = mysql_connect($sql_serveur,$sql_user,$sql_passwd);
if(!$db_link)
{
echo "Connexion impossible à la base de données <b>$sql_bdd</b> sur le serveur <b>$sql_server</b><br>Vérifiez les paramètres du fichier";
exit;
}
$result=mysql_db_query($sql_bdd,"INSERT INTO ann VALUES ('','$destination_lect$destination_file')",$db_link) or die(mysql_error());
$id= mysql_insert_id();
print "<br>Lisez bien ce qui suit!";
mysql_close($db_link);
enfaite j'ai juste ajouté => $destination_file = "photo.jpg"; dans le dernier test if(isset($_FILES['aFile']['name']))... si la condition n'est pas verifiée donc image par défaut.<?php
function formatFileName($aFileName, $aMaxLength = 50)
{
$aFileName = strToLower(subStr($aFileName, 0, $aMaxLength));
$aFileName = ereg_replace('[^a-zA-Z0-9,._\+\()\-]', '_', $aFileName);
return $aFileName;
}
$destination_dir = '../consultation/photo/';
$file_max_size = 100000;
$authorized_extensions = array('jpg', 'gif');
if (!is_dir($destination_dir))
{
echo 'Veuillez indiquer un répertoire destination correct !'; die();
}
if (!is_writeable($destination_dir))
{
echo 'Veuillez spécifier des droits en écriture pour le répertoire destination !'; die();
}
if (isSet($_POST['submitFile']))
{
if (isSet($_FILES) && is_array($_FILES))
{
if ($_FILES['aFile']['error'] == UPLOAD_ERR_OK)
{
if ($_FILES['aFile']['size'] <= $file_max_size)
{
$lastPos = strRChr($_FILES['aFile']['name'], ".");
if ($lastPos !== false && in_array(strToLower(subStr($lastPos, 1)), $authorized_extensions))
{
$destination_file = time().formatFileName($_FILES['aFile']['name']);
if (move_uploaded_file($_FILES['aFile']['tmp_name'], $destination_dir.DIRECTORY_SEPARATOR.$destination_file))
{
echo 'Votre annonce nous est bien parvenue et notre service la enregistrée avec votre photo.';
}
else
{
echo 'La photo n\'a pas été envoyée correctement !';
}
}
else
{
echo 'Mauvaise extension !';
}
}
else
{
echo 'Photo trop volumineuse !';
}
}
else
{
switch ($_FILES['aFile']['error'])
{
case UPLOAD_ERR_INI_SIZE:
echo 'La photo envoyée dépasse la valeur spécifiée pour upload_max_filesize dans php.ini.';
break;
case UPLOAD_ERR_FORM_SIZE:
echo 'La photo na pas été envoyée, elle dépasse 100 ko.';
break;
case UPLOAD_ERR_PARTIAL:
echo 'La photo n\'a été que partiellement envoyée.';
break;
default:
echo 'Votre annonce nous est bien parvenue et notre service la enregistrée sans photo.';
}
}
}
else
{
/* Ici, on sait qu'aucun fichier n'a été envoyé, on peut préciser dans le message qu'on utilisera une image par défaut */
echo 'Pas de photo recu';
}
}
$destination_file = (isset($_FILES['aFile']['name'])) ? time().formatFileName($_FILES['aFile']['name']) : "";
$destination_lect = '../photo/';
$db_link = mysql_connect($sql_serveur,$sql_user,$sql_passwd);
if(!$db_link)
{
echo "Connexion impossible à la base de données <b>$sql_bdd</b> sur le serveur <b>$sql_server</b><br>Vérifiez les paramètres du fichier";
exit;
}
/*
* Ici, on détermine la requête d'insertion: soit on a un fichier et on en utilise les informations,
* soit on en a pas et on mettra les valeur du fichier par défaut
*/
$sql = (isset($_FILES['aFile']) && $_FILES['aFile']['name'] != "") ? "INSERT INTO ann VALUES ('','". $destination_lect.$destination_file ."')" : "INSERT INTO ann VALUES ('','". $destination_lect ."nom_fichier_par_defaut.jpg')";
$result=mysql_db_query($sql_bdd,$sql,$db_link) or die(mysql_error());
$id= mysql_insert_id();
print "<br>Lisez bien ce qui suit!";
mysql_close($db_link);
?>
Note :$sql = (isset($_FILES['aFile']) && $_FILES['aFile']['name'] != "") ? "INSERT INTO ann VALUES ('','". $destination_lect.$destination_file ."')" : "INSERT INTO ann VALUES ('','". $destination_lect ."nom_fichier_par_defaut.jpg')";
C'est exactement la même chose que:
if(isset($_FILES['aFile']) && $_FILES['aFile']['name'] != "")
{
$sql = "INSERT INTO ann VALUES ('','". $destination_lect.$destination_file ."')";
}
else
{
$sql = "INSERT INTO ann VALUES ('','". $destination_lect ."nom_fichier_par_defaut.jpg')";
}
Mais sur une seule ligne, c'est plus simple. Demandes si tu ne comprends pas un truc.
c'est vrai qu'on voit tout de suite mieux avec un code bien propreBon, j'ai fait un peu de ménage: je ne sais pas comment tu arrives à lir ton propre code, mais c'est pas un cadeau.
Oh, ben voila chacun son tour la dernière fois Cyrano a été oublié et maintenant c'est moimerci cyrano pour ton aide qui à été trés instructive.