Délinéarisation
Résolu
James
-
James -
James -
Bonjour à tous,
Avec la fonction array j'ai crée un tableau dans lequel j'ai placé toutes mes valeurs. Pour récupérer ce tableau de valeur sur un autre script je l'ai sauvegarder sur un fichier texte avec la commande $s = serialize($arr);
A présent je souhaite ouvrir ce fichier contenant mon tableau linéarisé et le remettre sous sa forme d'origine (un tableau).
J'ouvre donc mon fichier via un fopen:
$f = fopen("C:\...\sequence1.fasta", 'r') or die("can't open file for Msa export in FASTA");
Et je prend ma variable linéarisé que je "délinéarise" avec la fonction $arg = unserialize($f);
Cette fonction doit prendre en argument une fonction linéarisé pourtant cela ne fonctionne pas et me renvoie une erreur du type:
Warning: unserialize() expects parameter 1 to be string, resource given in C:\Program Files\EasyPHP-5.3.1\www\selection.php on line 63
Voilà si quelqu'un peut m'aider à résoudre ce problème
D'avance merci
Avec la fonction array j'ai crée un tableau dans lequel j'ai placé toutes mes valeurs. Pour récupérer ce tableau de valeur sur un autre script je l'ai sauvegarder sur un fichier texte avec la commande $s = serialize($arr);
A présent je souhaite ouvrir ce fichier contenant mon tableau linéarisé et le remettre sous sa forme d'origine (un tableau).
J'ouvre donc mon fichier via un fopen:
$f = fopen("C:\...\sequence1.fasta", 'r') or die("can't open file for Msa export in FASTA");
Et je prend ma variable linéarisé que je "délinéarise" avec la fonction $arg = unserialize($f);
Cette fonction doit prendre en argument une fonction linéarisé pourtant cela ne fonctionne pas et me renvoie une erreur du type:
Warning: unserialize() expects parameter 1 to be string, resource given in C:\Program Files\EasyPHP-5.3.1\www\selection.php on line 63
Voilà si quelqu'un peut m'aider à résoudre ce problème
D'avance merci
3 réponses
Salut.
unserialize() demande en paramètre une chaine de caractère, si tu met $f en paramètre, c'est normal que tu ai cette erreur. fopen retourne une ressource, pas une chaine de caractère.
Pour ça, il faut que tu utilises fread.
Et n'oublie pas de doubler les backslashes.
unserialize() demande en paramètre une chaine de caractère, si tu met $f en paramètre, c'est normal que tu ai cette erreur. fopen retourne une ressource, pas une chaine de caractère.
Pour ça, il faut que tu utilises fread.
<?php $filename = "C:\\...\\sequence1.fasta"; $handle = fopen($filename, "rb"); $contents = fread($handle, filesize($filename)); $unserialize = unserialize($contents); fclose($handle); ?>
Et n'oublie pas de doubler les backslashes.
Tout d'abord merci pour ta réponse, je me suis empressé de l'essayer. A présent il ne me renvoie pas d'erreur spécifique mais : Resource id #6
Je pense que le problème est donc situé au niveau du chemin d'accès pourtant le fichier "sequence1.fasta" et correct ainsi que le chemin pour y accéder, j'ai chercher ce même type d'erreur sur internet mais il n'y a pas de solution explicite pour la résoudre.
Je pense que le problème est donc situé au niveau du chemin d'accès pourtant le fichier "sequence1.fasta" et correct ainsi que le chemin pour y accéder, j'ai chercher ce même type d'erreur sur internet mais il n'y a pas de solution explicite pour la résoudre.