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 05/03/2007, 13h22   #1
Membre éprouvé
 
Homme Cyrill Gremaud
Ingénieur systèmes et réseaux
Inscription : août 2005
Messages : 1 002
Détails du profil
Informations personnelles :
Nom : Homme Cyrill Gremaud
Âge : 23
Localisation : Suisse

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Enseignement

Informations forums :
Inscription : août 2005
Messages : 1 002
Points : 429
Points : 429
Par défaut [Upload] petit problème d'upload

Salut tout le monde,

Voila j'ai un problème d'upload. J'ai fais un script vraiment tout simple mais sa ne fonctionne pas. Voici l'erreur que je reçoit :

Citation:
Warning: move_uploaded_file() [function.move-uploaded-file]: SAFE MODE Restriction in effect. The script whose uid/gid is 1554/100 is not allowed to access / owned by uid/gid 0/0 in /home/mesannonces.evoconcept.net/www/pages/insert_annonces.php on line 348
Impossible de copier le fichier dans /images
et voici mon code :

Code :
1
2
3
4
5
6
<form method="post" enctype="multipart/form-data" action="index.php?p=insertAnnounce&part=5">
						<p>
						<input type="file" name="fichier" size="30">
						<input type="submit" name="upload" value="Uploader">
						</p>
					</form>
et le code php

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
if(isset($_POST['upload']) ){
					$content_dir = '/images'; // dossier où sera déplacé le fichier
 
					$tmp_file = $_FILES['fichier']['tmp_name'];
 
					if( !is_uploaded_file($tmp_file) ){
						exit("Le fichier est introuvable");
					}
 
					// on vérifie maintenant l'extension
					$type_file = $_FILES['fichier']['type'];
 
					if(!strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif') ){
						exit("Le fichier n'est pas une image");
					}
 
					// on copie le fichier dans le dossier de destination
					$name_file = $_FILES['fichier']['name'];
 
					if(!move_uploaded_file($tmp_file, $content_dir . $name_file) ){
						exit("Impossible de copier le fichier dans $content_dir");
					}
 
					echo "Le fichier a bien été uploadé";
				}else{
					echo'error upload';
				};
Je précise que mon dossier image a pour CHMOD 777 . donc je ne vois pas trop !

merci de me donner un coup de main
__________________
Il y a 10 types de personnes sur la planète. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas...
cyrill.gremaud est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2007, 13h26   #2
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
Quelle est l'arborescence pour accèder à ton dossier images ?
__________________
Get your motor runnin'
Head out on the highway...
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2007, 13h32   #3
Membre éprouvé
 
Homme Cyrill Gremaud
Ingénieur systèmes et réseaux
Inscription : août 2005
Messages : 1 002
Détails du profil
Informations personnelles :
Nom : Homme Cyrill Gremaud
Âge : 23
Localisation : Suisse

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Enseignement

Informations forums :
Inscription : août 2005
Messages : 1 002
Points : 429
Points : 429
dossier root -> images
__________________
Il y a 10 types de personnes sur la planète. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas...
cyrill.gremaud est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2007, 13h40   #4
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
Je trouve bizarre de placer un dossier images à la racine, mais soit...

Que vaut open_basedir (cf phpinfo(); ) ?

Essaie de jouer avec open_basedir ou safe_mode_include_dir avec '/images'...
http://php.net/manual/fr/features.safe-mode.php
__________________
Get your motor runnin'
Head out on the highway...
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2007, 13h46   #5
Membre éprouvé
 
Homme Cyrill Gremaud
Ingénieur systèmes et réseaux
Inscription : août 2005
Messages : 1 002
Détails du profil
Informations personnelles :
Nom : Homme Cyrill Gremaud
Âge : 23
Localisation : Suisse

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Enseignement

Informations forums :
Inscription : août 2005
Messages : 1 002
Points : 429
Points : 429
il a comme local value : /home/mesannonces.evoconcept.net/
__________________
Il y a 10 types de personnes sur la planète. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas...
cyrill.gremaud est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2007, 13h50   #6
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
Essaie de rajouter /images
__________________
Get your motor runnin'
Head out on the highway...
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2007, 13h51   #7
Membre éprouvé
 
Homme Cyrill Gremaud
Ingénieur systèmes et réseaux
Inscription : août 2005
Messages : 1 002
Détails du profil
Informations personnelles :
Nom : Homme Cyrill Gremaud
Âge : 23
Localisation : Suisse

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Enseignement

Informations forums :
Inscription : août 2005
Messages : 1 002
Points : 429
Points : 429
comment sa ? dans mon code php j'ai deja mis /images
__________________
Il y a 10 types de personnes sur la planète. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas...
cyrill.gremaud est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2007, 13h51   #8
Membre chevronné
 
Inscription : juin 2005
Messages : 572
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Haute Vienne (Limousin)

Informations forums :
Inscription : juin 2005
Messages : 572
Points : 690
Points : 690
Une piste à fouiller : une réponse a été apportée l'autre jour sur un problème similaire. Il s'agissait d'un paramètre dans la config de php qui interdit à tout autre que le propriétaire de modifier un fichier.

Si c'est le même problème alors il faut seulement changer le php.ini.
ratapapa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2007, 13h53   #9
Membre éprouvé
 
Homme Cyrill Gremaud
Ingénieur systèmes et réseaux
Inscription : août 2005
Messages : 1 002
Détails du profil
Informations personnelles :
Nom : Homme Cyrill Gremaud
Âge : 23
Localisation : Suisse

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Enseignement

Informations forums :
Inscription : août 2005
Messages : 1 002
Points : 429
Points : 429
seulement changer le php.ini n'est pas très bien approprié lol... je suis chez un hebergeur et non en local
__________________
Il y a 10 types de personnes sur la planète. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas...
cyrill.gremaud est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2007, 14h03   #10
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
Si tu es chez un hébergeur, explique moi comment tu peux créer un dossier /images ?
Pourquoi ne places-tu pas tes images dans /home/mesannonces.evoconcept.net/images/ ?
1. Tu es plus cohérent avec l'architecture
2. safe_mode n'aura plus d'effet normalement
__________________
Get your motor runnin'
Head out on the highway...
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2007, 14h31   #11
Membre éprouvé
 
Homme Cyrill Gremaud
Ingénieur systèmes et réseaux
Inscription : août 2005
Messages : 1 002
Détails du profil
Informations personnelles :
Nom : Homme Cyrill Gremaud
Âge : 23
Localisation : Suisse

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Enseignement

Informations forums :
Inscription : août 2005
Messages : 1 002
Points : 429
Points : 429
??? mais mon fichier qui contient le code est a la racine du site. ensuite ya un dossier images donc je ne vois pas ou est le problème.
__________________
Il y a 10 types de personnes sur la planète. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas...
cyrill.gremaud est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2007, 14h49   #12
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
Il y a racine et racine!

Tu as la racine du filesystem, du serveur : /
Code :
1
2
3
4
/etc
/home
/usr
/var
Tu as la racine de ton espace ftp : /home/mesannonces.evoconcept.net
Ensuite tu as la racine de ton application web : /home/mesannonces.evoconcept.net/www/
Code :
1
2
3
4
 
index.html
insert_annonces.php
styles/style.css
(Cette dernière racine correspond à http ://mesannonces.evoconcept.net/)

Ce qui donne :
Code :
1
2
3
4
5
6
7
8
9
10
/                                   // <-- racine du serveur
 +- etc
 +- home
 |  `- mesannonces.evoconcept.net   // <-- racine de ton espace ftp
 |     +- www                       // <-- racine de ton application web
 |     |  +- index.html
 |     |  `- insert_annonces.php
 |     `- data
 +- usr
 `- var
Note que cette architecture est dépendante de ton hébergeur, par exemple chez free.fr, racine ftp == racine web

Quand tu executes un script php, ce dernier n'a connaisance que d'une seule racine : celle du serveur !
Ainsi quand tu indique /images, il va chercher dans... /images
Il faut lui dire d'aller dans /home/mesannonces.evoconcept.net/www/images
ou /home/mesannonces.evoconcept.net/images suivant où est placé ton dossier. Je ne sais pas si je suis clair, mais je me comprends c'est l'essentiel ^^
__________________
Get your motor runnin'
Head out on the highway...
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2007, 15h01   #13
Membre éprouvé
 
Homme Cyrill Gremaud
Ingénieur systèmes et réseaux
Inscription : août 2005
Messages : 1 002
Détails du profil
Informations personnelles :
Nom : Homme Cyrill Gremaud
Âge : 23
Localisation : Suisse

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Enseignement

Informations forums :
Inscription : août 2005
Messages : 1 002
Points : 429
Points : 429
merci !

jai mis mon liens comme suivant : /home/mesannonces.evoconcept.net/www/images/

sa fonctionne
__________________
Il y a 10 types de personnes sur la planète. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas...
cyrill.gremaud est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h49.


 
 
 
 
Partenaires

Hébergement Web