Récupérer '(' sous MySQL

Résolu
vquiblier Messages postés 14 Date d'inscription mercredi 22 juillet 2009 Statut Membre Dernière intervention 2 avril 2010 - 17 août 2009 à 10:52
nautilus99 Messages postés 661 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 18 septembre 2009 - 18 août 2009 à 11:39
Bonjour,
J'utilise un script PHP pour récupérer une arborescence de fichiers stockés dans MyDMS.
Le script se passe bien mais j'ai un léger problème:
J'ai des noms de repertoires qui contiennent des parenthèses par exemple:
(A) Identification et au lieu de me créer le bon repertoire il me créer un répertoire avec comme nom (A)Identification.
J'ai d'abord pensé à un souci d'encodage mais les noms de répertoire qui contiennent des accents passe bien donc là je bloque.
Si quelqu'un à une idéé...
Merci d'avance.

PS: J'utilise Apache 2.2 pour MyDMS, MySQL 5.0, MyDMS 1.7.2 et PHP 5
Mon OS est Windows XP

8 réponses

nautilus99 Messages postés 661 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 18 septembre 2009 1
17 août 2009 à 17:27
Bonjour,

Il est possible que la fonction html_entity_decode() règle ton problème.
3
vquiblier Messages postés 14 Date d'inscription mercredi 22 juillet 2009 Statut Membre Dernière intervention 2 avril 2010
18 août 2009 à 09:26
En effet cette fonction m'a été très utile, mon petit script marche.
Merci beaucoup.
0
vquiblier Messages postés 14 Date d'inscription mercredi 22 juillet 2009 Statut Membre Dernière intervention 2 avril 2010
18 août 2009 à 10:59
Salut, toujours dans le même script php je souhaite modifié la date de création du fichier.
En effet je fais une copie de fichier ce qui modifie la date originale de création de fichier.
J'arrive à récupérer l'ancienne date de création mais je n'arrive pas à modifier la date de création de la copie.
J'ai essayer avec la fonction touch();
mais çà marche pas.
Du coup si quelqu'un à une idée çà m'aiderait bien.
Merci.
0
nautilus99 Messages postés 661 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 18 septembre 2009 1
18 août 2009 à 11:16
Si tu as la date de création, il est parfaitement possible de changer la date de création et le dernier accès.

Si tu as bien lu la documentation de la fonction touch, il est indiqué:
5.3.0 Il devient possible de changer la date et heure de modification d'un dossier sous Windows.

Sous PHP < 5.3.0, les modifications d edate et heure d ecréation ou d'accès aux fichiers ne fonctionnent pas !
0

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

Posez votre question
nautilus99 Messages postés 661 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 18 septembre 2009 1
18 août 2009 à 11:17
Correctif, touch avec modification des dates et heures fonctionnait UNIQUEMENT sous Unix et MacOS (un Unix lui aussi), mais pas sous Windows. Il n'y a qu edepuis PHP 5.3 qu'on peut utiliser touch pour modifier les dates et heures fichiers.
0
vquiblier Messages postés 14 Date d'inscription mercredi 22 juillet 2009 Statut Membre Dernière intervention 2 avril 2010
18 août 2009 à 11:22
Bonjour,

Voilà l'appel que je fais pour la fonction touch():
touch($nom_fichier.'/'.basename($dms['export_path']),$dms['date']=time())

$nom_fichier.'/'.basename($dms['export_path']) est le nom du fichier dans lequel je souhaite modifié la date.
$dms['date'] est la date que je souhaite mettre dans date de création.

J'ai fait des echos pour debuger les paramètres sont bon.
Donc je dois me tromper dans l'appel de touch().

Si tu vois quelque chose ...

Merci.
0
vquiblier Messages postés 14 Date d'inscription mercredi 22 juillet 2009 Statut Membre Dernière intervention 2 avril 2010
18 août 2009 à 11:34
J'ai regardé ma version PHP c'est 5.3 donc çà devrait marcher ...
0
nautilus99 Messages postés 661 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 18 septembre 2009 1
18 août 2009 à 11:39
Il y a comme un problème de compréhension, j epense..

la documentation de touche est claire..
$dms['date']=time()

te mettra la date et heure actuelle comme date et heure..
Il faut utiliser mktime pour créer un timestamp ayant une heure autre que l'heure actuelle (qui est exprimée en nombre de secondes entre le début de l'époque UNIX (1er Janvier 1970 00:00:00 GMT) et le temps spécifié.

Donc:
$dms['date']=mktime  ($hour, $minute, $second, $month, $day, $year, $is_dst );

Pour ces valeurs, regardes ton fichier origine. informations, récupérables par exemple avec filemtime.

Et si tu utilises PHP en version < 5.3.0, l'usage de touch() ne génère pas d'erreur sous Windows, mais il est simplement ignoré...
0
Rejoignez-nous