Précédent   Forum des professionnels en informatique > PHP > Langage > Fonctions
Fonctions Forum d'entraide sur les fonctions PHP. Avant de poster -> FAQ fonctions et Sources diverses
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/04/2008, 10h19   #1
Membre éprouvé
 
Inscription : septembre 2007
Messages : 503
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : septembre 2007
Messages : 503
Points : 426
Points : 426
Par défaut limite d'utilisation de substr

Bonjour,

je cherche la limite (haute) d'utilisation de la fonction SUBSTR.
J'imagine qu'elle ne peut pas "substrer" les données de 200000000 caractères par exemple....
en fait, je fais un
Code :
$zdata   = substr(substr($zdata, 0, strlen($zdata) - 4), 2);
avec $zdata qui peut contenir un nb tres grand (plusieurs centaines de millions de caractère) et justement, j'ai une page blanche, rien d'autre.
Je sais que ma fonction va jusqu'à cette ligne (alert JS juste avant) et s'arrete là (alert JS juste après que je ne vois pas)

Des infos?

6ril
6ril25 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/04/2008, 12h37   #2
Expert Confirmé
 
Avatar de trotters213
 
Inscription : janvier 2005
Messages : 2 572
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Gard (Languedoc Roussillon)

Informations forums :
Inscription : janvier 2005
Messages : 2 572
Points : 2 605
Points : 2 605

Si je comprends bien ton problème, tu voudrais récupérer ta chaine de 2000000 de caractères mais sans les 2 premiers ni les 4 derniers caractères c'est ça ?

Est-ce que ça ne serait pas plus judicieux de traiter ça à la construction de la chaine.
Et au pire tu te crées 3 variables $debZData, $zData et $finZData avec :
$debZData = 2 premiers caract
$zData = ta chaine actuelle sans les 2 premiers ni les 4 derniers caractères
$finZData = 4 derniers
__________________
Pensez au tag
Les règles du Forum

Dev. Web : FAQ (X)HTML/CSS | Tutos (X)HTML | Tutos CSS

PHP : FAQ PHP | Tutos PHP | Benchmark PHP 5

SQL : Cours SQL
trotters213 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/04/2008, 14h38   #3
Membre éprouvé
 
Inscription : septembre 2007
Messages : 503
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : septembre 2007
Messages : 503
Points : 426
Points : 426
Salut trotters213,

je vois pas bien où tu veux en venir... Tu pourrais m'éclairer davantage?
6ril25 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/04/2008, 16h39   #4
Expert Confirmé
 
Avatar de trotters213
 
Inscription : janvier 2005
Messages : 2 572
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Gard (Languedoc Roussillon)

Informations forums :
Inscription : janvier 2005
Messages : 2 572
Points : 2 605
Points : 2 605
Et bien plutôt que de partir de la chaine qui fait 2000000 de caractères, tu devrait construire la chaine dont tu as besoin qui est équivalente à ceci :
Code :
substr(substr($zdata, 0, strlen($zdata) - 4), 2);
et conserver les extrémités de la chaine que tu fais disparaitre grâce au substr dans 2 variables.

En gros tu prends le problème à l'envers : tu as la chaine réduite et tu fais une concaténation quand tu as vraiment besoin des extrémités.
__________________
Pensez au tag
Les règles du Forum

Dev. Web : FAQ (X)HTML/CSS | Tutos (X)HTML | Tutos CSS

PHP : FAQ PHP | Tutos PHP | Benchmark PHP 5

SQL : Cours SQL
trotters213 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h13.


 
 
 
 
Partenaires

Hébergement Web