upload de fichier
Posté : 14 mai 2008, 11:53
salut la famille PHP,
J'ai un soucis d'upload de fichier sur mon serveur web.
J'ai un soucis d'upload de fichier sur mon serveur web.
session_start();
$titre=$_POST['titre'];
$domaine=$_SESSION['domaine'];
$date=date ("d/m/Y");
//upload de fichier
if (isset($_FILES['fich']))
{
//param
unset($erreur);
$extensions_ok=array('png', 'gif', 'jpg', 'jpeg');
$taille_max=2000000;
$dest_dossier='/ed/designpages/propos/';
//vérification
if( !in_array( substr(strrchr($_FILES['fich']['name'], '.'), 1), $extensions_ok ) )
{ $erreur = 'Veuillez selectionner un fichier de type png, gif ou jpg !';
echo $erreur;
}
elseif( file_exists($_FILES['fich']['tmp_name'])
and filesize($_FILES['fich']['tmp_name']) > $taille_max)
{
$erreur = 'Votre fichier doit faire moins de 2Mo !';
echo $erreur;
}
// copie du fichier
if(!isset($erreur))
{
$dest_fichier = basename($_FILES['fich']['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['fich']['tmp_name'], $dest_dossier . $dest_fichier);
//INSERTION DANS LA BASE DE DONNEE DE LA PROPOSITION
// connexion à la base de donnée
include "../admin/db.php";
$connexion = mysql_connect($adresse,$id,$pass)or die ('Error of connexion');
mysql_select_db($db)or die ('Selection de la base impossible');
// Insertion des éléments dans la base de donnée et redirection vers la page design
$requete ="INSERT INTO `propositions` ( `id` , `domaine` , `date` , `titre` , `image` ,`etat` )VALUES(NULL, '$domaine', '$date', '$titre', '$dest_fichier', 'ATTENTE')";
$result=mysql_query($requete)or die ('Erreur SQL !'.$requete.'<br />'.mysql_error());
header("location:../designpages/design.php?action=$domaine");
mysql_close();
}
}
en local comme dossier de destination j'utilissais "../designpages/propositions et cela marche tres bien mais lorsque mon script est hébergé sur mon serveur web j'ai un message d'Erreur
Warning: move_uploaded_file(http/propos/gestion_projet_dev.jpg): failed to open stream: No such file or directory in /var/upload.php on line 37 Warning: move_uploaded_file(): Unable to move '/tmp/phpBdtUsu' to /designpages/propos/gestion_projet_dev.jpg' in /var/www/lhosts/progsuivi/designpages/upload.php on line 37 Warning: Cannot modify header information - headers already sent by (output started at /var/designpages/upload.php:37) in /var/upload.php on line 47
J'ai d'abbord penser que cela était du à mon dossier de destination, donc j'ai utiliser un chemin complet avec www, mais j'ai toujours le meme soucis.