Votre question

[PHP] Utilisation de pointeur ?!

Tags :
  • Serveur
  • Programmation
Dernière réponse : dans Programmation
16 Mai 2011 09:56:09

Bonjours :) 

Je suis en se moment entrain de réaliser une fonction d'upload de fichier sur mon serveur.

Chaque ligne de mon fichier se termine par un '\n' donc dans un premier temps je fais un :

  1. $ligne = explode("\n",$var);




ensuite sur chaque ligne, je veux récupérer la valeur se trouvant après le caractère ':'
Jusqu'à présent je faisais un

Code : PHP - Sélectionner

  1. $var = explode(":",$ligne[0]);




donc la valeur souhaité se trouvais dans $var[1]...

je voudrais savoir si il été possible en php d'utiliser les pointeurs comme en C, pour que je puisse utiliser les fonctions

Code : PHP - Sélectionner


  1. if(sscanf($ligne[0],"nom_de_ville:%s",$var))
  2. $var=stristr($ligne[0],":");




pour pouvoir me placer juste après les ':' et tester tous les caractères que je rencontre ?!

Merci par avance pour vos futur réponses

Autres pages sur : php utilisation pointeur

a c 145 L Programmation
16 Mai 2011 11:37:14

Tu peux récupérer le caractère qui se trouve juste après ton ":" en faisant:
  1. $char = substr($ligne[0], strpos($ligne[0], ":"), 1);
m
0
l
16 Mai 2011 11:47:32

J'ai trouvé une autre solution a mon prblème mais je n'arrive pas a remplir mon champs correctement.

J'ai réalisé une fonction :

  1. function test($var,$valeur)
  2. {
  3. $resultat = "";
  4.  
  5. if(sscanf($var,"$valeur%s",$nom))
  6. {
  7.  
  8.  
  9. $nom=stristr($var,":");
  10. $nbcarac = strlen ($nomFR);
  11. for($i = 1; $i<$nbcarac; $i++)
  12. {
  13. $resultat += $nom[$i];
  14. }
  15. echo($resultat);
  16.  
  17. }
  18. }


mais mon erreur se trouve dans $resultat += $nom[$i];

Je voudrais mettre tous les caractère à l'indice i de la variable nom dans $resultat mais cela ne fonctionne pas de la sorte,
J'ai essayé de déclarer $résultat en temps que tableau mais je n'y arrive pas non plus,
Aurez tu une solution ?
m
0
l
a c 145 L Programmation
16 Mai 2011 12:15:05

Je n'arrive pas bien à comprendre ce que tu veux faire, mais déjà je vois une erreur: tu utilises $nomFR à la ligne 10, il sort d'où ?

Ensuite, quelques détails:
- tu utilises stristr pour retrouver ":", il serait plus optimal d'utiliser strstr (il n'y a pas de ":" majuscule), voire strpos.
- si tu veux récupérer tout ce qui est après les ":" (et non pas le premier caractère comme je le croyais), la simple ligne $resultat = substr($var, strpos($var, ":" )+1); suffira à remplacer tes lignes 9 à 14.
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS