Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/12/2006, 10h27   #1
Nouveau Membre du Club
 
Inscription : avril 2004
Messages : 153
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 153
Points : 34
Points : 34
Par défaut [Upload] Problèmes de chmod lors d'un upload

Salut, je fais un site internet et j'ai un probleme quand je veux uploader des images dans un dosssier.
La personne peut creer des dossiers sur le serveur et y placer des images dedans.
Creer des dossiers fonctionnent, c'est quand je veux y a placer des images dedans.
J'ai 4 erreurs pour 2 fichiers
1ere erreur :
Code :
1
2
3
 
Warning: chmod() [function.chmod]: Operation not permitted in /var/www/vhosts/Aeons-irc.net/subdomains/legendanime-fansub/httpdocs/legendfansub/administration/image/insertimages.php on line 97
../../images/test/
Voila le bout de code correspondant
$chemin est le chemin initial, $dossier est le dossier que la personne a selectionnée pour y placer des images et $lien est le lien complet
Code :
1
2
3
4
5
6
7
8
9
 
$chemin="../../images/";//chemin d'origine
$slash="/";
$dossier=$rep."".$slash;//on combien le repertoire avec un /
$lien=$chemin."".$dossier;//le lien combiné avec le tout
 
chmod($chemin,'777');
 
$up=$outils->upload('fichier',$lien);
Ensuite j'ai 3 erreurs avec ma fontion d'upload

Code :
1
2
3
4
5
6
7
 
Warning: chmod() [function.chmod]: Unable to access ../../images/test/20061229102421644326312_small.jpg in /var/www/vhosts/Aeons-irc.net/subdomains/legendanime-fansub/httpdocs/legendfansub/class/outils_class.php on line 263
 
Warning: chmod() [function.chmod]: No such file or directory in /var/www/vhosts/Aeons-irc.net/subdomains/legendanime-fansub/httpdocs/legendfansub/class/outils_class.php on line 263
 
../../images/test/20061229102421644326312_small.jpg
Warning: move_uploaded_file() [function.move-uploaded-file]: SAFE MODE Restriction in effect. The script whose uid is 10038 is not allowed to access /var/www/vhosts/Aeons-irc.net/subdomains/legendanime-fansub/httpdocs/legendfansub/images/test owned by uid 48 in /var/www/vhosts/Aeons-irc.net/subdomains/legendanime-fansub/httpdocs/legendfansub/class/outils_class.php on line 266
Voila le code de la fonction upload
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
 
public function upload($index,$destination)
	{	
		echo $destination;
		chmod($_FILES[$index]['tmp_name'],0777);
		if($_FILES[$index]['error']!=4)
		{
			if($_FILES[$index]['tmp_name'])
			{
				if( (strstr($_FILES[$index]['type'], 'gif')) || (strstr($_FILES[$index]['type'], 'jpeg'))
					 || (strstr($_FILES[$index]['type'], 'jpg')) || (strstr($_FILES[$index]['type'], 'png')))
				{
 
					$moment=date("YmdHis");//calcul de la date et heure
					//echo $moment;
					$foto=$moment . addslashes($_FILES[$index]['name']);//on attribue un nom unique			
 
 
					echo "<br>";
 
					$destinationfinale=$destination."".$foto;//on colle la destionation avec le nom unique
					chmod($destinationfinale,0777);
					echo "<br>";
					echo $destinationfinale;
					if( !move_uploaded_file($_FILES[$index]['tmp_name'], $destinationfinale))
					{
						return FALSE;	
					}
					else
					{
						return $foto;
					}
				return FALSE;
				}	
			return FALSE;
			}	
 
		return FALSE;
		}	
	}
Qqn peut-il me venir en aide svp ?

Merci d'avance !
Ludo75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2006, 10h30   #2
Rédacteur/Modérateur
 
Avatar de N1bus
 
Inscription : janvier 2003
Messages : 2 018
Détails du profil
Informations personnelles :
Âge : 47
Localisation : France, Charente Maritime (Poitou Charente)

Informations forums :
Inscription : janvier 2003
Messages : 2 018
Points : 1 992
Points : 1 992
bonjour,

il semblerait que chmod() ne sois pas autorisé sur ton serveur.
As tu vérifié auprés de ton hébergeur ?
N1bus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2006, 10h34   #3
Membre chevronné
 
Avatar de cadoudal56
 
Inscription : février 2005
Messages : 671
Détails du profil
Informations personnelles :
Âge : 40

Informations forums :
Inscription : février 2005
Messages : 671
Points : 646
Points : 646
Hello,

Il ne faut pas confondre chemin physique et chemin virtuel.

C:/mydocuments/images/tacata/ est un chemin physique
../images/tacata est un chemin virtuel

Quand tu fais des opérations de création de dossier ou de chmod, donc en gros dès que tu interviens sur du filesystem, il est conseillé d'utiliser des chemins physiques et non virtuel....

en gros tu lui dis de faire un
Code :
1
2
 
chmod ('../../images/mondossier');
Alors que lui s'attendrais plus a quelquechose du style :
Code :
1
2
 
chmod ('/var/www/vhosts/Aeons-irc.net/subdomains/legendanime-fansub/httpdocs/legendfansub/images/mondossier');
@+
cadou
PS : Par contre gaffe a tes chmod. Un 0777 est tres dangereux. Tu devrais plutot descendre en 0644
cadoudal56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2006, 11h49   #4
Nouveau Membre du Club
 
Inscription : avril 2004
Messages : 153
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 153
Points : 34
Points : 34
merci pour vos reponses !
le chmod fonctionne car jlutilise quand je creer des dossiers.

Et j'ai essayé avec le chemin, çà passe pas non plus
Ludo75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2006, 11h57   #5
Nouveau Membre du Club
 
Inscription : novembre 2006
Messages : 41
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 41
Points : 27
Points : 27
Tu peux essayer ainsi :

Code :
1
2
 
chmod("path_complet", "0777", "-r");
le -r c'est pour que ce soit récursif mais peut etre ne peut on pas mettre un 3eme argument.
xaaros est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2006, 12h07   #6
Nouveau Membre du Club
 
Inscription : avril 2004
Messages : 153
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 153
Points : 34
Points : 34
ui il a pas compris le 3ème argument
Ludo75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2006, 12h11   #7
Nouveau Membre du Club
 
Inscription : novembre 2006
Messages : 41
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 41
Points : 27
Points : 27
et le 0777 au lieu de 777 ?
xaaros est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2006, 12h15   #8
Nouveau Membre du Club
 
Inscription : avril 2004
Messages : 153
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 153
Points : 34
Points : 34
que je mette 0777 ou 777, c'est la meme erreur : operation not permitted
Ludo75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h22.


 
 
 
 
Partenaires

Hébergement Web