Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1359 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Gestion de fichiers

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

[PHP] Gestion de fichiers

n°1305575
hugoOo
laisse pas dépasser ton pixel
Posté le 14-02-2006 à 18:52:28  profilanswer
 

Salut à tous,
je voudrais savoir comment peut t'on faire pour copier ,renommer et déplacer des fichiers dans mon site avec du code php. je pense que je dois utiliser copy() rename() et unlink() mais il n'y a vraiment pas bocup d'infos sur le net pour ça! Sa veut dire ques les développeurs utilisent une autre techinique?

mood
Publicité
Posté le 14-02-2006 à 18:52:28  profilanswer
 

n°1305646
dwogsi
Défaillance cérébrale...
Posté le 14-02-2006 à 21:30:56  profilanswer
 

Pas mal du tout ce topic!!!
Bon juste parce que j'avais bien envi de le mettre :
[:rtfm]
 
Bref, pourquoi vousdrais-tu que les développeurs utilisent autre chose que copy() rename() et unlink()??? Ce sont bien les fonctions utilisées pour la suppression/copie et le renomage (ça se dit ça???) des fichiers! Qu'est ce que tu veux de plus?????????
 
Concernant la documentation... Je sais pas non plus ce que tu veux de plus??? Franchement je l'ai jamais lu tellement l'utilisation me parait évidente!!!!
 
Exemple unlink() Mais qu'est ce qu'on va bien pouvoir lui donner à cette animal?? Ba le répertoir (si besoin) et le nom du fichier à supprimer en s'assurant que les droits le permettent... Biensur si tu as utilisé unlink("*.*" ); ca risque surement pas de marcher.
 
Va lire la doc, plus en profondeur, >> fr.php.net et je sais pas... apprend! Comprend! Si tu ne comprend pas ces fonctions, abandonne tout de suite le php....
 
PS : Oui!... il y a un manque de sympatie dans mon post et je m'en excuse mais des fois...


Message édité par dwogsi le 14-02-2006 à 21:31:36
n°1305652
gatsu35
Blablaté par Harko
Posté le 14-02-2006 à 22:01:19  profilanswer
 
n°1305657
dwogsi
Défaillance cérébrale...
Posté le 14-02-2006 à 22:16:43  profilanswer
 

Je voulais les mettre et finalement j'ai eu la fléme d'écrire tous les liens...


Message édité par dwogsi le 14-02-2006 à 22:16:51
n°1305659
gatsu35
Blablaté par Harko
Posté le 14-02-2006 à 22:20:57  profilanswer
 

bah C po trop dur
un C/C de http://fr.php.net
et puis tu fous le nom de la fonction derriere lol
 
mais c'est un peu se foutre de la gueule du monde que de dire que ya aucune doc la dessus lol

n°1305679
dwogsi
Défaillance cérébrale...
Posté le 14-02-2006 à 23:03:38  profilanswer
 

Oui je sais bien qu'avec un copier/collé c'était vite fait mais même ça j'avais la fléme.
 
Et même sans lire la doc, je trouve l'utilisation de ces fonctions tellement évidente! C'est comme du rename en dos ou du copy etc... Sauf que les * et ? ne fonctionnent pas mais ce n'est pas un problème.


Message édité par dwogsi le 14-02-2006 à 23:05:18
n°1305690
hugoOo
laisse pas dépasser ton pixel
Posté le 14-02-2006 à 23:22:50  profilanswer
 

oui mais j'orai avoir des informations sur le CHmod nécessaire pour utiliser copy() rename() et unlink() car je n'arrive pas à faire marcher ces fonctions! happy face les mecs, d'accord ma question était conne et il y a 50 questions de ce type par jour mais vous enervez pas! merci quand meme :D :hello:

n°1305695
gatsu35
Blablaté par Harko
Posté le 14-02-2006 à 23:36:12  profilanswer
 

tu peux nous donner un exemple du code que tu utilises avec ces fonctions s'il te plait ?

n°1305696
dwogsi
Défaillance cérébrale...
Posté le 14-02-2006 à 23:50:10  profilanswer
 

hahahaaaa!!!! Je peux encore le remettre >>>> [:rtfm]
Et 50 c'est peu dire!
 
Va lire la doc!!!!!!!!!!!!!
Chmod >>> Serveur linux, droits d'accès aux fichiers sous la forme de 3 chiffres définissant les droits d'écriture, lecture et exécution.
 
Le premier correspond aux permissions du propriétaire.
Le second aux permissions du groupe.
Et le dernier aux permissions publiques.
 
Pour chacun d'entre eux plusieurs valeurs sont possibles en fonction des droits que tu souhaite donner. Chacun droit donne une valeur, tu en fait la somme et tu obtient le résultat pour le propriétaire ou le groupe ou publique selon la position du chiffre.
 
Lecture : 4
Ecriture : 2
Exécution : 1
 
Donc pour donner l'autorisation de lire le fichier à tous on obtient dans un premier temps :
444
 
On souhaite ensuite donner en plus les droits d'écriture au propriétaire :
Ecriture : 2
4+2 = 6
 
On a donc 644
 
Si on veut ensuite donner les droits d'exécution au groupe on fera :
4+1 = 5
 
On a alors : 654
 
Et ainsi de suite....
 
Après pour pouvoir modifier les chmod, impossible chez free! Pour les autres soit tu le fait vie ton client ftp, soit à cou de lignes de commandes si tu travail en local (serveur à la maison), soit avec la fonction chmod() de php, soit encore avec de la ligne de commande si tu as un accès ssh à ton serveur.
 
Et si tu ne veux pas te prendre la tête, tu passe tout en 777 mais je ne le recommande pas. Pour l'utilisation de fonctions copy() rename() et unlink() voici quelques exemple :
 
copy("rep/fichier1.ext","rep/fichier2.ext" );
>>> Attention aux droit du répertoire de destinnation, php doit pouvoir écrire dedans
 
rename("old_name.ext","new_name.ext" )
>>> Droit du fichier
 
unlink("rep/fichier.ext" )
>>> Droit du fichier
Bon voilà et si tu ne comprend toujours pas : [:rtfm]


Message édité par dwogsi le 14-02-2006 à 23:53:49
n°1305702
hugoOo
laisse pas dépasser ton pixel
Posté le 15-02-2006 à 00:02:39  profilanswer
 

mon code :

Code :
  1. <?php
  2. $pseudo = 'mathilde';
  3. mkdir ($pseudo);
  4. copy ("user/index.php" ,$pseudo."/index.php" );
  5. copy ("user/style.css" ,$pseudo."/style.css" );
  6. copy ("user/admin.php" ,$pseudo."/admin.php" );
  7. copy ("user/stat.php" ,$pseudo."/stat.php" );
  8. copy ("user/na.php" ,$pseudo."/na.php" );
  9. copy ("user/na2.php" ,$pseudo."/na2.php" );
  10. ?>


et l'erreur que sa me donne :

Citation :

Warning: mkdir(mathilde): File exists in /www/sites/1/ifrance.com/l/o/lostblog/site/gestionfichiers.php on line 3


je n'ai pas mis de chmod lors de ma création de répertoir (mkdir($pseudo)) car quand je met 755 777 ou 666 je me retrouve au final avec des valeurs basses genre 420 qui empeche la lecture des fichiers avec ie ou mozilla. quand je ne met pas de valeur mon repertoire se met tout seul sur 755.

mood
Publicité
Posté le 15-02-2006 à 00:02:39  profilanswer
 

n°1305705
dwogsi
Défaillance cérébrale...
Posté le 15-02-2006 à 00:14:46  profilanswer
 

Ton répertoire existe déjà.... Ou alors problème de droits!
Condition à ajouter : if ( !is_dir($pseudo) ) mkdir($pseudo);
et tenter un mkdir($pseudo,0700) (marche pas chez free je crois).


Message édité par dwogsi le 15-02-2006 à 00:16:02
n°1305708
hugoOo
laisse pas dépasser ton pixel
Posté le 15-02-2006 à 00:26:13  profilanswer
 

j'ai beau mettre n'importe quel nom il me met toujours la meme chose, preuve que le répertoire n'existe pas déja. mon hébergeur est ifrance. je vais essayer ce que tu me dis! question: je dois mettre des " ou pas dans mkdir($pseudo, "0700" )?


Message édité par hugoOo le 15-02-2006 à 00:27:41
n°1305712
dwogsi
Défaillance cérébrale...
Posté le 15-02-2006 à 00:30:14  profilanswer
 

je sais plus... test les deux et sinon http://fr.php.net/mkdir
Et essais aussi mkdir("/".$pseudo) (avais pas pensé avant)


Message édité par dwogsi le 15-02-2006 à 00:31:06
n°1305713
hugoOo
laisse pas dépasser ton pixel
Posté le 15-02-2006 à 00:36:01  profilanswer
 

jai mis :

Code :
  1. <?php
  2. $pseudo = 'plop';
  3. if ( !is_dir($pseudo)) {
  4. mkdir ($pseudo);
  5. } else{
  6. echo 'répertoir déja pris!';
  7. }


et pour n'importe quel valeure de pseudo j'obtient toujours le meme message! (repertoire déja pris)
et la deuxieme technique avec le chmod 0700 ne marche pas non plus (acces denied pa la suite)!

n°1305714
hugoOo
laisse pas dépasser ton pixel
Posté le 15-02-2006 à 00:39:10  profilanswer
 

quand j'utilise mkdir ("/".$seudo); jobtient :

Citation :

Warning: mkdir(): SAFE MODE Restriction in effect. The script whose uid is 3062723 is not allowed to access / owned by uid 0 in /www/sites/1/ifrance.com/l/o/lostblog/site/gestionfichiers.php on line 3

n°1305717
The-Shadow
Développeur
T'as été voir dans ton profil?
Posté le 15-02-2006 à 00:48:44  profilanswer
 

Prend un vrai hébergeur, tu vas multiplier les problèmes autrement, t'en trouve à 2€ par mois de nos jours, c'est pas ça qui t'obligera à bouffer des pattes. ;)

n°1305718
dwogsi
Défaillance cérébrale...
Posté le 15-02-2006 à 00:56:02  profilanswer
 

Ouai mais à deux euros par jour tas rien comme espace. Moi à 10/mois j'ai 5Go Web/Ftp et 5Go supplémentaire uniquement FTP pour sauvegarder et stocker ce que je veux, 15 BDD, etc...
 
Mais sinon il peut se trouver un compte free, ça va très bien pour les "petits" sites. J'en donne un s'il veut.

n°1305720
The-Shadow
Développeur
T'as été voir dans ton profil?
Posté le 15-02-2006 à 01:04:09  profilanswer
 

Free c'est pareil, t'as tout un tas de restriction, pas de chmod, pas de glob, pas de fonctions FTP, etc.
A 2€ par mois, tu peux avoir 500Mo chez un vrai hébergeur beaucoup moins limité en fonction, 5Go, ça sert pas à grand chose pour débuter.
Perso, le site de ma femme avec un rubrique album photo totalisant près de 11000 photos ne prends même pas 2Go.

n°1305723
dwogsi
Défaillance cérébrale...
Posté le 15-02-2006 à 01:23:09  profilanswer
 

Trop fort le site de ta femme, je suis fan!!!! Par contre je pensais pas qu'on pouvais en dire autant sur ce sujet! Seul reproche que je peux y faire : problème de compatibilité avec FireFox dans le redimentionnement des fenêtres destinnées à afficher les photos... C'est pourquoi je préconnise toujours de les laisser redimensionnables.
 
Sinon, il est vrai que tout dépend de l'utilisation que l'on souhaite faire de son hébergement mais je pense que les topic à se propos dont déjà assez nombreux sur le forum (je crois qu'il y a même "quel hébergeur choisir" ) donc on e vas pas relancer ce débat ici.
 
Mais juste pour dire deux mots la dessus, 2€/mois est suffisant pour un "petit site"/site perso. Après le miens à pour but essentiel de proposer en téléchargement les projets open source de qui veut bien les héberger chez nous donc espace requis et bande passante/mois important.
 
Pour parler de l'hébergement free, je pense qu'il va très bien pour débuter dans la mesure ou le site ne génére pas trop de traffic et je pense que le seul vrai problème est l'absence de la gestion des droits des fichiers. Donc je conseil plutôt pour lui un hébergement free qu'un hébergement payant.

n°1305727
The-Shadow
Développeur
T'as été voir dans ton profil?
Posté le 15-02-2006 à 01:32:35  profilanswer
 

[Désolé pour le HS]

dwogsi a écrit :

Trop fort le site de ta femme, je suis fan!!!! Par contre je pensais pas qu'on pouvais en dire autant sur ce sujet! Seul reproche que je peux y faire : problème de compatibilité avec FireFox dans le redimentionnement des fenêtres destinnées à afficher les photos... C'est pourquoi je préconnise toujours de les laisser redimensionnables.


Tu parles de quoi (quelle rubrique ?) ? Parce qu'en général, je développe d'abord sous Firefox et j'adapte si IE a des soucis.  :heink:  

n°1305760
dwogsi
Défaillance cérébrale...
Posté le 15-02-2006 à 09:02:22  profilanswer
 

Non en fait c'est juste une erreur de ma part.... C'est parceque j'ai désactivé le redimentionnement des fenêtres par les script mais je maintiens quand même ceci :

dwogsi a écrit :

...C'est pourquoi je préconnise toujours de les laisser redimensionnables.


Pour ne pas pénaliser les utilisateurs dans mon cas par exemple.

Message cité 1 fois
Message édité par dwogsi le 15-02-2006 à 09:02:32
n°1305924
hugoOo
laisse pas dépasser ton pixel
Posté le 15-02-2006 à 11:25:48  profilanswer
 

je suis vraiment obligé de changer? car c'est juste un petit détail! il génère  une erreur (File existe) lors de la fonction mkdir mais c'est tout en plus j'avais réussi à virer la pub de ifrance et puis 100MO c'est suffisant pour moi!

n°1305940
omega2
Posté le 15-02-2006 à 11:36:56  profilanswer
 

hugoOo a écrit :

en plus j'avais réussi à virer la pub de ifrance

Ce qui est illégal soit dit en passant.
 
Extrait des conditions de ventes de ifrance :

Citation :

9.11 En cas d’hébergement gratuit, le Client accepte la diffusion de toutes publicités sur son Site Internet.

T'as signé le contrat général de vente mais tu ne le respectes pas c'est pour ça que t'es en illégalité.
 
De plus comme indiqué juste aprés

Citation :

ARTICLE 10 : SERVICE D’HEBERGEMENT MUTUALISE
10.1 Le Serveur demeure la propriété d’iEUROP qui en assure la gestion et la maintenance matérielle, le Site Internet demeure sous le contrôle du Client (hors publicités).

En bref, tu mets à jour ton site comme t'as envie mais tu n'as aucun droit de controle sur les publicités affiché par l'hébergeur quand les gens consultent ton site et donc aucun droit d'empécher ces publicités d'être affiché.
 
 
PS : Si tu fais des trucs illégaux, évite au moins de le crier sur les toits.


Message édité par omega2 le 15-02-2006 à 11:38:23
n°1305944
The-Shadow
Développeur
T'as été voir dans ton profil?
Posté le 15-02-2006 à 11:41:18  profilanswer
 

dwogsi a écrit :

Non en fait c'est juste une erreur de ma part.... C'est parceque j'ai désactivé le redimentionnement des fenêtres par les script mais je maintiens quand même ceci :
 
Pour ne pas pénaliser les utilisateurs dans mon cas par exemple.


Chez moi elles le sont, surement des mauvais restes de l'ancienne version, je vais jeter un coup d'oeil.  :jap:  
 

hugoOo a écrit :

je suis vraiment obligé de changer? car c'est juste un petit détail! il génère  une erreur (File existe) lors de la fonction mkdir mais c'est tout en plus j'avais réussi à virer la pub de ifrance et puis 100MO c'est suffisant pour moi!


C'est peut-être ton hébergeur qui ne supporte pas la fonction mkdir ou alors, tu essayes peut-être de créer ce dossier dans un endroit où tu n'as pas les permissions.
Essaye quelquechose du genre :

Code :
  1. <?php
  2. $repertoire_courant=getcwd();
  3. echo $repertoire_courant.'<br />';
  4. ?>


Histoire de voir si tu es bien sur dans le dossier de ton site et voir si tu as le droit de créer un dossier.

n°1305965
hugoOo
laisse pas dépasser ton pixel
Posté le 15-02-2006 à 11:55:46  profilanswer
 

omega2 ---> Ok, j'avais pas bien lu la doc de ifrance, je remet les pubs de suite!
the-shadow---> je teste ça tout de suite!

n°1305971
hugoOo
laisse pas dépasser ton pixel
Posté le 15-02-2006 à 11:58:03  profilanswer
 

the shadow voila ce que j'obtient :

Citation :

/www/sites/1/ifrance.com/l/o/lostblog/site

n°1305973
The-Shadow
Développeur
T'as été voir dans ton profil?
Posté le 15-02-2006 à 11:59:29  profilanswer
 

Tente un  

Code :
  1. mkdir($repertoire_courant.'/totodir');


n°1305976
hugoOo
laisse pas dépasser ton pixel
Posté le 15-02-2006 à 12:02:14  profilanswer
 

le message que j'obtient :  

Citation :

Warning: mkdir(/www/sites/1/ifrance.com/l/o/lostblog/site/totodir): File exists in /www/sites/1/ifrance.com/l/o/lostblog/site/voir.php on line 4

n°1305978
gatsu35
Blablaté par Harko
Posté le 15-02-2006 à 12:02:59  profilanswer
 

Super Shadow vient à la rescousse de la veuve et de l'orphelin du PHP

n°1305980
hugoOo
laisse pas dépasser ton pixel
Posté le 15-02-2006 à 12:05:36  profilanswer
 

Citation :

Super Shadow vient à la rescousse de la veuve et de l'orphelin du PHP


^^

n°1305986
The-Shadow
Développeur
T'as été voir dans ton profil?
Posté le 15-02-2006 à 12:08:26  profilanswer
 

gatsu35 a écrit :

Super Shadow vient à la rescousse de la veuve et de l'orphelin du PHP


http://galerie.lohlwee.org/images/supertuxtop.gif
 

hugoOo a écrit :

le message que j'obtient :  

Citation :

Warning: mkdir(/www/sites/1/ifrance.com/l/o/lostblog/site/totodir): File exists in /www/sites/1/ifrance.com/l/o/lostblog/site/voir.php on line 4



C'est ton hébergeur, l'impossibilité ce créer un dossier même avec un chemin absolu qui doit normalement correspondre à ton site, ça ne peut être que ça... :/

n°1305999
hugoOo
laisse pas dépasser ton pixel
Posté le 15-02-2006 à 12:15:25  profilanswer
 

donc il n'y a aucun moyen pour moi de créer un nouveau dossier dans mon site?

n°1306001
The-Shadow
Développeur
T'as été voir dans ton profil?
Posté le 15-02-2006 à 12:16:43  profilanswer
 

Pas sur Ifrance, j'ai bien peur, je suis parti à la recherche d'info sur leur site, mais je n'ai pas encore trouvé les "restrictions", alors qu'il y en a toujours chez les hébergeurs gratuits. Même chez les payants d'ailleurs, sauf que chez les payants, en général, il y en a moins. :D

n°1306005
hugoOo
laisse pas dépasser ton pixel
Posté le 15-02-2006 à 12:22:08  profilanswer
 

quand je passe par mon client FTP (FTP expert), j'arrive pourtant bien à créer des dossiers, il n'ya pas moyen de simuler la conection je mexplike :
de faire comme si c'est moi (administrateur du site ) qui utilise mon client FTP ?

n°1306006
omega2
Posté le 15-02-2006 à 12:23:31  profilanswer
 

le php dispose de fonctions ftp. (voir doc) Il faut tester, mais s'ils ont bloqué la création de dossier en php dans le dossier courant, alors ca serait étonant qu'ils aient laissé l'accés à des éléments situé sur d'autres serveurs. (ftp et http compris)


Message édité par omega2 le 15-02-2006 à 12:23:48
n°1306014
hugoOo
laisse pas dépasser ton pixel
Posté le 15-02-2006 à 12:31:11  profilanswer
 

oki je vai saller voir la doc. merci de ton aide!


Message édité par hugoOo le 15-02-2006 à 12:33:33
n°1306015
The-Shadow
Développeur
T'as été voir dans ton profil?
Posté le 15-02-2006 à 12:32:09  profilanswer
 

Essaye avec ça :

Code :
  1. <?php
  2. $ftp_serveur='ftp://monserveurftp';
  3. $connexionftp = ftp_connect($ftp_serveur_ftp,21);
  4. $ftp_login='monlogin';
  5. $ftp_motdepasse='monmotdepasse';
  6. $ftp_connexion = ftp_login($connexionftp, $ftp_login, $ftp_motdepasse);
  7. if ((!$connexionftp) || (!$ftp_connexion)) {
  8. die('Marche pas la connexion au FTP coco');
  9. } else {
  10. echo 'Connexion au ftp okey';
  11. }
  12. $toto=ftp_mkdir($connexionftp,'tototest');
  13. if (!$toto) {
  14. echo 'Impossible de créer le répertoire coco';
  15. } else {
  16. echo 'Création du répertoire okey';
  17. }
  18. ftp_close($connexionftp);
  19. ?>


n°1306018
hugoOo
laisse pas dépasser ton pixel
Posté le 15-02-2006 à 12:34:42  profilanswer
 

okay jvé tester ça, mais il y a quelque chose que je trouve étonnant c'est qu'il me cré bien mon répertoire!

n°1306020
The-Shadow
Développeur
T'as été voir dans ton profil?
Posté le 15-02-2006 à 12:37:32  profilanswer
 

càd ? :heink:

n°1306022
The-Shadow
Développeur
T'as été voir dans ton profil?
Posté le 15-02-2006 à 12:38:27  profilanswer
 

avec mkdir ?
 
ça se trouve, on se fait chier depuis hier alors que t'as juste fait une boulette et que t'as mis 2 fois mkdir, du coup, il peut pas le créer 2 fois.
 
Si c'est ça, je propose le sodogravier. :o

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Gestion de fichiers

 

Sujets relatifs
[PHP/mySQL] Récupéré la valeur clé primaire après ajout[PHP] Plusieurs boutons dans un formulaire
[PHP] Problème bizarre avecla banniere[PHP] Activer tous les messages d'erreur ?
[PHP Centrer du texte dans une image GDupload de fichiers volumineux
Un peu d'aide pour mon script? (script de listage de fichiers)peut on inclure des fichiers .h dans d'autes fichiers .h ???
Javascript VS Php[PHP] Je cherche 2 scripts ou bien 2 aides (Gestion fichiers/images)
Plus de sujets relatifs à : [PHP] Gestion de fichiers


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR