Le nom de fichier feed1.xls n'est pas lisible en php
Salut, je veux analyser un fichier excel à l'aide de zend framework. Je suis allé à Zend Developer Zone et trouvé une solution pour télécharger phpexcelreader. J'ai téléchargé le code de définir un projet à localhost et exécuter le code. Quand je treid pour lire un .xlsx
fichier génère une erreur
The filename feed1.xlsx is not readable
J'ai enregistré le fichier dans .xls
format et exécuter le code analysé le fichier correctement. Maintenant, je veux l'appliquer dans mon projet développé dans Zend framework
. J'ai créé un modèle, et en mon projet et require_once
ed l'excelreader au dessus de mon projet comme celui-ci.
require_once 'Excelreader/Excel/reader.php';
class ExcelreaderModel extends Zend_Db_Table
{
function readFile()
{
$data = new Spreadsheet_Excel_Reader();
//Set output Encoding.
$data->setOutputEncoding('CP1251');
//$data->read('Excelreader/Excel/feed1.xls');
$data->read('feed1.xls');
echo '<pre>';
print_r($data);
echo '</pre>';
}
}
J'ai appelé ce modèle de fonction dans mon contrôleur. Mais elle génère la même erreur que j'ai trouvé sur localhost l'aide de .xlsx
fichiers. Mais je suis de lecture .xls
fichier qui est analysée par le code en cours d'exécution au projet simple sur localhost.Je suis également en cours d'exécution zend framework au niveau local.
Ce qui est faux dans mon code? Ou est-il possible de faire la même tâche.?
- Si vous utilisez Spreadsheet_Excel_Reader, puis le phpexcel balise n'est pas approprié... phpexcel est une bibliothèque spécifique qui n'est pas le Spreadsheet_Excel_Reader bibliothèque
- Ni Spreadsheet_Excel_Reader lire .fichiers xlsx... avez-vous fait économiser de l'original de votre .fichier xlsx comme Excel95 .xls, ou tout simplement le renommer?
- Je suis d'économie fichier original que .xls. Est-il une autre solution?
- Il est difficile de dire si il y a une solution, sans beaucoup plus d'informations (et notamment sans que le fichier)... S_E_R est assez daté maintenant, et non pris en charge, et de ma propre zone de la connaissance est dans d'autres bibliothèques pour la lecture des fichiers Excel (plus spécifiquement PHPExcel)
Vous devez vous connecter pour publier un commentaire.
Du mieux que je peux dire, l'erreur que vous voyez est défini par cette ligne de code:
Pour une raison ou une autre, il ne peut pas lire le fichier que vous donnez, soit parce qu'il est un des permissions d'utilisateur de l'émission, ou le chemin du fichier est incorrect.
Si vous êtes sur un *nix serveur, vous devriez assurez-vous que l'utilisateur qui exécute le serveur web a la permission de lire le fichier excel. Le serveur web est probablement la course comme un utilisateur différent du propriétaire du fichier. Vous pouvez également essayer de définir les autorisations à 666.
Si elle vient ins pas à trouver le fichier, en fournissant un chemin d'accès complet peut aider, (par exemple,
$data->read('/usr/local/apache2/htdocs/Excelreader/feed1.xls');
Je pense que le problème est dans le type d'encodage de
.xlxs
le fichier et non dans le fichier de configuration de l'autorisation. Si vous changez la permission, il ne fonctionnera pas pour vous. Le problème est dansOLE_IDENTIFIER (��ࡱ�)
.De sorte que votre fichier de données doit commencer par
��ࡱ�
de données. Même moi, je suis à la recherche de la bonne solution pour cela. Quelqu'un peut-il aider ??L'erreur pourrait certainement être le plus descriptif. J'ai ajouté dans une enveloppe à l'intérieur de read() la fonction comme ceci:
Et bien sûr, j'ai été à la recherche dans le mauvais répertoire tout le temps!!
mb_internal_encoding("8bit");
dans l'en-tête du fichier php a fait le tour pour moi.Veuillez convertir votre fichier xlsx en xls et ça marche 🙂
il est travaillé pour moi, vous pouvez l'essayer.