Téléchargement fichier xlsx à l'aide de php

J'ai besoin de faire xlsx téléchargement de fichier à partir de mon site (mais pas à partir d'ouvrir directement le fichier de l'url comme ceci: http://site.com/file.xlsx )

Donc, c'est du code php

        $file = "somefile.xlsx";
        header('Content-Description: File Transfer');
        header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
        header('Content-Disposition: attachment; filename='.basename($file));
        header('Content-Transfer-Encoding: binary');
        header('Expires: 0');
        header('Cache-Control: must-revalidate');
        header('Pragma: public');
        header('Content-Length: ' . filesize($file));
        ob_clean();
        flush();
        readfile($file);

fichier est téléchargé, son extension est .xlsx, mais lorsque j'essaie d'ouvrir ce fichier dans ms excel, ce fichier n'est ouvert et je suis d'erreur : excel cannot open the file.xlsx because the file format or file extension is not valid

Dire s'il vous plaît, pourquoi c'est arrivé? où je me trompe?

  • Quel est le fichier téléchargé contient-il?
  • Si Excel plaintes que le fichier ne contient pas valide feuille de calcul, nous devons supposer qu'il sait de quoi il parle. Il y a deux possibilités: somefile.xlsx n'est pas valide pour commencer, ou de l'ordure est ajoutée dans le processus de téléchargement. Si vous enregistrez le fichier téléchargé sur le disque et l'ouvrir avec un éditeur de texte (pas d'Excel), vous pourriez être en mesure de repérer ce qui n'appartient pas à là.
  • Pekka 웃 , Álvaro --- Merci beaucoup, j'obtiens l'erreur.
  • Veuillez également noter que si vous ne voulez que le fichier soit accessible via un lien direct vous devez placer ce fichier à l'extérieur de la racine de serveur web ou de configurer votre serveur web pour interdire que le type de fichier à télécharger.
InformationsquelleAutor OTAR | 2013-04-27