|
| Nicolasbdx | Posté le 07/06/2004 @ 21:00 |
Petit astucien
20 Messages
| Bonjour !
Je viens d'ouvrir un site hebergé sur online.net, dont le but site est d'échanger des photos de voyages.
Nous avons créé le site en php, avec un formulaire permettant de les uploader.
Cette page php, en plus d'uploader la photo, créée une miniature. Jusque là aucun probleme.
Le problème intervient ensuite, lorsque l'on veut regarder la photo uploader quelques secondes avant. La miniature créée sous php est tout à fait visible, mais la photos uploader est inaccessible, alors qu’elle est bien présente dans le dossier sur le serveur. les attributs de la photo sont restreints, inaccessibles en lecture, écriture... (code 600 au lieu de 666 ou 777) et je n'arrive pas à les modifier.
J'aimerais connaître le moyen de modifier ces attributs directement lors de l'envoi grace à un script php dans la mesure ou à l'heure actuelle le site n'a aucun intérêt ce qui est particulièrement dommage.
J'espere que quelqu'un pourra me venir en aide. En attendant, je vous remercie...
|
| |
| |
| Publicité |
|
|
| koala01 | Posté le 08/06/2004 à 16:25 |
Astucien
4715 Messages
| La commande pour y arriver est chmod(fichier,mode)
donc, si tu as uploadé un fichier fichier.jpg, tu peux tres bien, après l'upload, utiliser la command
chmod($fichier,770) ou chmod($fichier,666) |
| |
|
| Nicolasbdx | Posté le 08/06/2004 à 19:37 |
Petit astucien
20 Messages
| koala01 a écrit :
La commande pour y arriver est chmod(fichier,mode)
donc, si tu as uploadé un fichier fichier.jpg, tu peux tres bien, après l'upload, utiliser la command
chmod($fichier,770) ou chmod($fichier,666)
|
Merci d'avoir repndu. je n'y connais rien a ce niveau. Comment insere t'on cette commane dans le script php ? Pex tu me l'expliquer en qq mots ? meric bcp |
| |
|
| koala01 | Posté le 08/06/2004 à 23:12 |
Astucien
4715 Messages
| Bon tu as ton script d'upload de fichier, dans lequel tu définit le nom du fichier à uploader...
Il suffit juste, apres l'upload d'utiliser le nom du fichier pour faire
<? chmod($la_variable_qui_contient_le_nom_du_fichier_uploadé,777); ?> |
| |
|
| Nicolasbdx | Posté le 09/06/2004 à 12:28 |
Petit astucien
20 Messages
| Merci Koala1 de m'avoir répondu.
J'ai fait ce que tu m'as conseillé et inséré la commande php chmod. Mon hébergeur est en safe mode et apres avoir exécuté mon script, le message suivant apparait à l'écran:
"Warning: chmod, chgrp, diskfreespace, rmdir, realpath, tmpfile, link, imap_mail() has been disabled for security reasons in gestion_photos.php on line 86"
Je pense que c'est lié au safe mode de mon hébergeur, à savoir online.net. Je commence à avoir les boules... Si tu vois ou ca cloche...
Merci beaucoup, et à bientot. |
| |
|
| koala01 | Posté le 09/06/2004 à 13:26 |
Astucien
4715 Messages
| oui, ben, le chmod bloque au niveau de ton hébergeur...
Pourrais tu me donner le code de ton script d'upload, qu'on puisse voir si on peut le modifier? |
| |
|
| Nicolasbdx | Posté le 09/06/2004 à 13:47 |
Petit astucien
20 Messages
| ok ! Merci d'etre aussi rapide !
Voici le script en question !
// Récupération des paramètres POST ACTION TRANSFERER
$adressepic = $_POST["userfile"];
$titre = $_POST["titre"];
$commentaire = $_POST["commentaire"];
$lieu = $_POST["lieu"];
// définition de l'espace destiné à recevoir les fichiers
$repertoireDestination ="photos/";
// si un fichier maphoto a bien été transféré
if (is_uploaded_file($_FILES["userfile"]["tmp_name"])) {
// recupération de l'extension du fichier
// autrement dit tout ce qu'il y a après le dernier point (inclus)
$nomPhoto = $_FILES["userfile"]["name"];
$extension = substr($nomPhoto, strrpos($nomPhoto, "."));
// Contrôle de l'extension du fichier
if (eregi("^ph", $extension)) {die("Les fichiers en .ph* ne sont pas autorisés.");}
$userfile = $idutilisateur."-".$idphotomax.$extension;
rename($_FILES["userfile"]["tmp_name"], $repertoireDestination.$userfile);
chmod($userfile,0644); |
| |
|
| koala01 | Posté le 09/06/2004 à 22:10 |
Astucien
4715 Messages
| je présume que la dernière ligne ( chmod($userfile,0644);) est celle que tu a rajouté à mon instigation et qui provoque une erreur...
Je ne sais donc pas t'aider plus avant...
Ce qu'il serait possible, pour autant que ton hébergeur n'ai pas désactivé la possibilité de le faire, serait d'essayer de créer une connection ftp en PHP (c'est faisable) avec tes identifiant personnels et de lancer la commande chmod via le ftp (ftp_chmod(fichier, droit) je crois) |
| |
|
| Nicolasbdx | Posté le 10/06/2004 à 18:51 |
Petit astucien
20 Messages
| Mon hébergeur a en effet desactivé cette possibilité ! Franchement je ne sais plus quoi faire...
L'assistance de mon hébergeur ne me répond meme pas ! |
| |
|
| koala01 | Posté le 11/06/2004 à 00:06 |
Astucien
4715 Messages
| Essaie peut etre, avant le script de téléchargement, de mettre
<? umask(0777); ?>
Si cette option est accessible, elle aura le meme effet pour tous les fichiers créés qui la suivent qu'un chmod() ... |
| |
|
| Nicolasbdx | Posté le 11/06/2004 à 16:09 |
Petit astucien
20 Messages
| Rien a faire !! ca ne change rien au probleme !
Les miniatures créées sur le serveur ont de nouveaux attribut mais l'image uploader !!
Je crois que je vais revoir le principe meme des pages de codes php, sans etre certain que ca change quelque chose au probleme. Je deviens fou
En tous les cas, le SAV de online.net est totalement inexistant...
|
| |
|
| devilfrank | Posté le 24/07/2004 à 01:51 |
Petit astucien
92 Messages
| bonjours!
ton script tu las trouver ou?
|
| |
|
|
| Haut de la page |