Problème de chmod

drogba7213 Messages postés 1550 Statut Membre -  
drogba7213 Messages postés 1550 Statut Membre -
Bonjour les amis,

J'ai une petite question

Je viens de faire ce bout de code pour la partie du formulaire en php
[CODE]
$dossier = '/upload/';
$fichier = basename($_FILES['fichier']['name']);
$tmp= $_SERVER['DOCUMENT_ROOT'].$dossier."".$fichier;
echo "<img src=$tmp />";[/CODE]

Comme vous le voyez c'est pour mettre une image qui vient d'être uploader par le client
le problème est que quand ja valide ca me met l'emplacement de l'image mais elle ne se charge pas
Alors je click droit afficher l'image le lien est le bon avec le nom du fichier pas de problème par contre il ne l'as charge pas
alors j'ai pensé que c'était le chmod

j'ai donc fait ceci

[CODE]$cheminPhoto = $_SERVER['DOCUMENT_ROOT'].$dossier.$fichier
chmod ("$cheminPhoto", 0755);[/CODE]

Mais ca me met cette erreur

Parse error: syntax error, unexpected T_STRING in /mnt/104/sdb/7/8/site.inter/stage/concours_ts.php on line 460

aidez moi svp

merci d'avance

14 réponses

macgawel Messages postés 676 Statut Membre 89
 
Bonjour.

Il faudrait que tu nous donnes ton code source, au moins autour de la ligne 460...

A vue de nez, je dirais que c'est un problème de guillemets ou de point virgule.
$cheminPhoto = $_SERVER['DOCUMENT_ROOT'].$dossier.$fichier
chmod ("$cheminPhoto", 0755);

Il manque un point virgule à la fin de la première ligne...
0
drogba7213 Messages postés 1550 Statut Membre 21
 
effectivement je n'ai plus le problème du message d'erreur par contre la photo de ne se charge toujours pas et le chmod ne change mm pas
0
drogba7213 Messages postés 1550 Statut Membre 21
 
up
0
macgawel Messages postés 676 Statut Membre 89
 
- Regarde le code source de ta page, voir si le lien <img...> correspond à l'adresse de la photo.
- Utilise les echo et des tests :

$dossier = '/upload/';
echo 'dossier = '.$dossier.'<br />;
$fichier = basename($_FILES['fichier']['name']);
echo 'fichier = '.$fichier.'<br />';
$tmp= $_SERVER['DOCUMENT_ROOT'].$dossier."".$fichier;
if ( is_file ( $tpm ) ) {
echo "<img src=$tmp />";
}
else {
echo 'Le fichier '.$tmp.' est introuvable !<br />';
}


$cheminPhoto = $_SERVER['DOCUMENT_ROOT'].$dossier.$fichier;
if ( is_file( $cheminPhoto) ) { // On regarde si le fichier à chmoder existe...
chmod ("$cheminPhoto", 0755) or die ('Impossible de faire le chmod !');
}
else {
echo $cheminPhoto." n'existe pas !<br />";
}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
drogba7213 Messages postés 1550 Statut Membre 21
 
Ca me répond ca:

Upload effectué avec succès !dossier = /upload/
fichier = smalllogo.png
Le fichier /mnt/104/sdb/7/8/site.inter/upload/smalllogo.png est introuvable !
Impossible de faire le chmod !
0
macgawel Messages postés 676 Statut Membre 89
 
Donc le problème vient de
$_SERVER['DOCUMENT_ROOT'].$dossier.$fichier;, qui te donne le chemin "physique".

Tu as <img...> dans ta source html ? Normalement, tu ne devrais pas l'avoir.
L'idéal serait de travailler avec les chemins relatifs.
Ta page de base est dans quel répertoire ?
Mets un echo $_SERVER['SCRIPT_FILENAME']; dans ton code, histoire de voir comment faire ton chemin relatif.
0
drogba7213 Messages postés 1550 Statut Membre 21
 
Ca me répond ca

/mnt/104/sdb/7/8/site.inter/stage/concours_ts.php
0
macgawel Messages postés 676 Statut Membre 89
 
Yep.

Donc, plutôt que de récupérer le $_SERVER['DOCUMENT_ROOT'], essaye ça :
$dossier = 'upload/';
$fichier = basename($_FILES['fichier']['name']);
$tmp= '../'.$dossier."".$fichier; // On remonte d'un répertoire avec le ..
if ( is_file ( $tpm ) ) {
echo "<img src=$tmp />";
}
else {
echo 'Le fichier '.$tmp.' est introuvable !<br />';
}

$cheminPhoto = '../'.$dossier.$fichier;
if ( is_file( $cheminPhoto) ) { // On regarde si le fichier à chmoder existe...
chmod ("$cheminPhoto", 0755) or die ('Impossible de faire le chmod !');
}
else {
echo $cheminPhoto." n'existe pas !<br />";

Par contre, pour le chmod, je ne sais pas si ça marchera : je ne suis pas sûr de qui est ptopriétaire du dossier upload.
0
internetasso Messages postés 1054 Date d'inscription   Statut Membre Dernière intervention   177
 
le chmod doit être mis sur 777 pour uploader dedans... mais si tu as pas accès au FTP ca va être dur ! Et si le site est chez Free il faudra oublier...
La création d'un site commence par la réflexion de son devenir...
0
drogba7213 Messages postés 1550 Statut Membre 21
 
pk il faut oublier chez free?
0
internetasso Messages postés 1054 Date d'inscription   Statut Membre Dernière intervention   177
 
parce qu'il est impossible de changer les chmod des dossiers sur le serveur, ouvre ton FTP et essaye...
La création d'un site commence par la réflexion de son devenir...
0
drogba7213 Messages postés 1550 Statut Membre 21
 
bah si ca fonctionne en tps normal puisk je les fait avec un fichier kan j'écris dedans pas un scrpit php

mais la c'est vrai ke ils ne veulent pas changer
0
internetasso Messages postés 1054 Date d'inscription   Statut Membre Dernière intervention   177
 
cqfd
La création d'un site commence par la réflexion de son devenir...
0
drogba7213 Messages postés 1550 Statut Membre 21
 
mais si je passe mon script a un serveur perso est ce que fonctionnera?
0