par
olivia » 23 janv. 2009, 23:30
bonjour messieurs cela fait des années que j'installe manuellement une photo.jpg modele pas trés lourde quand les intenautes dépose une photo trop lourde sur mon site. Le programme refuse la photo qui dépasse $file_max_size et donc présente un encadrement avec une croix rouge sur la page du site. C'est vraiment pas trés jolie alors j'installe une à une chaque jours pratiquement.
Peut on faire autrement?
$destination_dir = '../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 !'; die();
}
}
else
{
echo 'Mauvaise extension pour votre photo, les formats acceptés sont jpeg ou gif!'; die();
}
}
else
{
echo 'Votre annonce nous est bien parvenue et notre service la enregistrée, la photo dépasse 50ko, elle ne sera donc pas diffusez sur le site!'; die();
}
}
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 50 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.';
}
}
}
else
{
echo 'Pas de photo recu'; die();
}
}
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;}
if(isset($_FILES['aFile']) && $_FILES['aFile']['name'] != "")
{
$resultq=mysql_db_query($sql_bdd,"INSERT INTO annonce VALUES ('','$destination_lect$destination_file','$destination_file')",$db_link) or die(mysql_error());
}
else
{
$result=mysql_db_query($sql_bdd,"INSERT INTO annonce VALUES ('','". $destination_lect ."photo.jpg','')",$db_link) or die(mysql_error());
}
Pensez vous que l'on peu l'inserer merci.
bonjour messieurs cela fait des années que j'installe manuellement une photo.jpg modele pas trés lourde quand les intenautes dépose une photo trop lourde sur mon site. Le programme refuse la photo qui dépasse $file_max_size et donc présente un encadrement avec une croix rouge sur la page du site. C'est vraiment pas trés jolie alors j'installe une à une chaque jours pratiquement.
Peut on faire autrement?
[php]
$destination_dir = '../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 !'; die();
}
}
else
{
echo 'Mauvaise extension pour votre photo, les formats acceptés sont jpeg ou gif!'; die();
}
}
else
{
echo 'Votre annonce nous est bien parvenue et notre service la enregistrée, la photo dépasse 50ko, elle ne sera donc pas diffusez sur le site!'; die();
}
}
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 50 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.';
}
}
}
else
{
echo 'Pas de photo recu'; die();
}
}
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;}
if(isset($_FILES['aFile']) && $_FILES['aFile']['name'] != "")
{
$resultq=mysql_db_query($sql_bdd,"INSERT INTO annonce VALUES ('','$destination_lect$destination_file','$destination_file')",$db_link) or die(mysql_error());
}
else
{
$result=mysql_db_query($sql_bdd,"INSERT INTO annonce VALUES ('','". $destination_lect ."photo.jpg','')",$db_link) or die(mysql_error());
}
[/php]
Pensez vous que l'on peu l'inserer merci.