problème de upload de fichier [linux]
Posté : 31 mai 2007, 01:23
Bonjour,
j'ai une fonction d'upload de fichier qui devrai m'envoyer un fichier mais elle me renvoie trois warnings.
La fonction
Merci
j'ai une fonction d'upload de fichier qui devrai m'envoyer un fichier mais elle me renvoie trois warnings.
Code : Tout sélectionner
Warning: move_uploaded_file(/var/www/test_connexion/images/geekscottes_002.png) [function.move-uploaded-file]: failed to open stream: No such file or directory in /var/www/caddie/test_connexion/inc/output_fns.php on line 34
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpTqYLaf' to '/var/www/test_connexion/images/geekscottes_002.png' in /var/www/caddie/test_connexion/inc/output_fns.php on line 34
Warning: chmod() [function.chmod]: No such file or directory in /var/www/caddie/test_connexion/inc/output_fns.php on line 35
L'article ssssssssssss à été ajouté à la base.
Code : Tout sélectionner
function charger_fichier()
{
if(isset($_FILES['photo']))
{
// params
unset($erreur);
$extensions_ok = array('png', 'gif', 'jpg', 'jpeg', 'txt', 'doc', 'odt', 'ods', 'html', 'htm', 'php', 'css', 'pdf', 'swf', 'fla');
$taille_max = 1000000;
$dest_dossier ='/var/www/test_connexion/images/';
// utilisez également des slashes sous windows : $dest_dossier = 'd:/xav/photos/';
// vérifications
if( !in_array( substr(strrchr($_FILES['photo']['name'], '.'), 1), $extensions_ok ) )
{
$erreur = 'Veuillez sélectionner un fichier de type png, gif, jpg, txt, odt, doc, ods, html, php, css, pdf, swf ou fla !';
}
elseif( file_exists($_FILES['photo']['tmp_name'])
and filesize($_FILES['photo']['tmp_name']) > $taille_max)
{
$erreur = 'Votre fichier doit faire moins de 10000Ko !';
}
// copie du fichier
if(!isset($erreur))
{
$dest_fichier = basename($_FILES['photo']['name']);
// formatage nom fichier
// enlever les accents
$dest_fichier = strtr($dest_fichier,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
// remplacer les caracteres autres que lettres, chiffres et point par _
$dest_fichier = preg_replace('/([^.a-z0-9]+)/i', '_', $dest_fichier);
// copie du fichier
move_uploaded_file($_FILES['photo']['tmp_name'], $dest_dossier . $dest_fichier);
chmod($dest_dossier . $dest_fichier, 0777);
}
}
if(isset($erreur)){
echo '<p>', $erreur ,'</p>';
}
}