Mon script crée mes fichiers dans un endroit inattendu
angelimad
Messages postés44Date d'inscriptionlundi 26 mai 2008StatutMembreDernière intervention 9 septembre 2009
-
8 sept. 2009 à 18:38
syndrael
Messages postés2378Date d'inscriptionlundi 4 février 2002StatutMembreDernière intervention29 décembre 2012
-
9 sept. 2009 à 08:32
bonjour tout le monde.
mon problème c'est que j'ai un site php hébergé sur un serveur Linux.
mon script upload le fichier via le formulaire du client dans un dossier dans le serveur.
voila la fonction qui upload le fichier, il a les paramètre suivants: le répertoire de destination, le poids de l image, le lien que je vais insérer dans la base de données, et finalement l'erreur s'il y a un problème.
voila l'appel de la fonction :
function upload_image ($rep, $poid_m, $tab_image, &$lien, &$erreur)
{
//$poids_max 512000; // Poids max de l'image en octets (1Ko 1024 octets)
$poids_max $poid_m; // Poids max de l'image en octets (1Ko 1024 octets)
$repertoire = $rep; // Repertoire d'upload
//$repertoire = "logo enseignes\"; // Repertoire d'upload
if (isset($tab_image['logo']))
{
// On vérifit le type du fichier
if ($tab_image['logo']['type'] != 'image/png' && $tab_image['logo']['type'] != 'image/jpeg' && $tab_image['logo']['type'] != 'image/jpg' && $tab_image['logo']['type'] != 'image/gif')
{
$erreur = 'Erreur, Le fichier doit être au format *.jpeg, *.gif ou *.png .';
}
}
// On vérifit le poids de l'image
if ($tab_image['logo']['size'] > $poids_max)
{
$erreur = 'Erreur, L\'image doit être inférieur à ' . $poids_max/1024 . 'Ko.';
}
// On vérifit si le répertoire d'upload existe
if(file_exists($repertoire.$tab_image['logo']['name']))
{
$erreur = 'Erreur, le nom du fichier existe déja.';
}
if($erreur)
{
return false;
}
else
{
// On upload le fichier sur le serveur.
if (move_uploaded_file($tab_image['logo']['tmp_name'], $repertoire.$tab_image['logo']['name']))
{
$lien = $repertoire."/".$tab_image['logo']['name'] ;
}
else
{
$erreur = 'L\'image n\'a pas pu être uploadée sur le serveur.';
return false;
}
}
return true;
}
probleme : supposons que j'ai indiquer le dossier "logo", pour insérer l'image, ce script insère l'image dans ce répertoire quand j'utilise un serveur local, comme easyphp, mais pour mon hébergeur distant, l'image est insérer dans le dossier courant, pas "logo", en plus l'image prend le nom "logo\image.jpg". je trouve sa bizarre. pourquoi sa fonctionne bien avec mon serveur local.
un autre petit problème, c'est que la suppression de ces fichier est interdite au niveau du serveur d'hébergement.
A voir également:
Mon script crée mes fichiers dans un endroit inattendu
JulSoft
Messages postés354Date d'inscriptiondimanche 3 juin 2001StatutMembreDernière intervention11 mars 2013 8 sept. 2009 à 22:42
Normal...
tu dois utiliser comme dossier "logo/" dans ton exemple... En effet, les dossiers dans une arborsence sont séparés par des / sou slinux alors qu'ils le sont par des \ sous windows...