[php] chaine de caractere et tableau

Bonjour ! Je voudrais réaliser un script en php, seulement je n'arrive pas du tout à trouver comment le faire, je vous explique :

J'ai une variable $contenu_fichier, qui contient comme son nom l'indique, le contenu d'un fichier...

Je voudrais mettre cette variable en tableau, de façon à couper en plusieurs parties, chaque "cellule" contiendrais admettons 500 caractères), j'aurrais donc dans la premiere "cellule" les caractères de 0 à 500, dans la 2ème de 500 à 1000, etc...
Ainsi en affichant array(3) par exemple, j'obtiendrais uniquement les caractères de 1000 à 1500.. Vous me suivez ?

J'ai fouiller un peu partout, je suis bloquer, je sais faire un tableau, compter le nombre de caractère, mais pour le reste j'avoue,je suis completement perdu.

Si l'un de vous à un idée ?

Merci
Configuration: Windows XP
Firefox 2.0.0.4

4 réponses

  1. Pourquoi se compliquer ?
    str_split($var, 500);

    Et tu as ton tableau.
    1. lol, c vrai que str_plit le fait tout seul... vive php!!!
      merci pour cette réponse (bien qu'elle vienne 1 an après ^^)
      ça sert toujours :)
  2. salut,

    essaie ce bout de code si ça répond à tes attentes.

    <?php
    
    ...
    
    $tableau = array();
    $taille_cellule = 500;  /* par exemple */
    
    $i = 0;
    while ($i < strlen($contenu_fichier)) {
    	$tableau[] = substr($contenu_fichier, $i, $taille_cellule);
    	$i += $taille_cellule;
    }
    
    echo $tableau[3];
    
    ...
    
    ?>


    c'est un peu du bidouillage mais ça marche (enfin, si j'ai compris ton problème...)
    bonne continuation.
    1. Je me suis appuyé sur cette astuce pour en faire une fonction que voili :
      function Cut_chaine_add_caractere($chaine,$taille_cellule,$add_chaine){
      
      	// On compte le nombre de caractere dans la chaine	
      	$count = strlen($chaine);
      	
      	// Si la chaine de caractere est plus petite que stop le script;
      	if ( $count < $taille_cellule ){
      		return $chaine;
      	}
      	
      	// On met en variable tableau les cellules	
      	if ( $count > $taille_cellule ){
      	
      		$i = 0;
      		while ($i < $count) {					
      			$tableau[] = substr($chaine, $i, $taille_cellule);
      			$i += $taille_cellule;
      		}	
      	}
      	
      	// On met le caractere souhaite apres chaque cellule
      	$chaine = '';
      	$i=0;
      	while ( isset($tableau[$i]) && !empty($tableau[$i])){
      		$chaine.= $tableau[$i].$add_chaine;
      		$i++;
      	}
      	
      	// On retourne la chaine avec les caracteres souhaite
      	return $chaine;
      }
      
      $Ma_Chaine_A_Traiter = "aaaaaaaaaaaaaaaaabbbbbbbbbbbbbccccccccccccccccccc";
      $Ma_Chaine_A_Traiter = Cut_chaine_add_caractere( $Ma_Chaine_A_Traiter, '5', "<br />\n");
      
      

      Ce qui retournera donc :

      aaaaa
      aaaaa
      aaaaa
      aabbb
      bbbbb
      bbbbb
      ccccc
      ccccc
      ccccc
      cccc