[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. 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
    1. 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.