Maison >développement back-end >Problème PHP >Que dois-je faire si le fichier de téléchargement php ne peut pas être ouvert ?

Que dois-je faire si le fichier de téléchargement php ne peut pas être ouvert ?

PHPz
PHPzoriginal
2020-09-25 14:03:053110parcourir

Solutions au problème selon lequel les fichiers téléchargés PHP ne peuvent pas être ouverts : 1. Annulez la sortie de toute information non liée au fichier pendant le processus de téléchargement ; 2. Enregistrez le format du fichier de sortie et le nom du suffixe de manière cohérente.

Que dois-je faire si le fichier de téléchargement php ne peut pas être ouvert ?

Recommandé : "Tutoriel vidéo PHP"

php télécharger un fichier Excel,

1. Ne produisez aucune information autre qu'un fichier pendant le processus de téléchargement, telle que les informations du journal d'écho. Sinon, le fichier téléchargé ne pourra pas être ouvert, ce qui entraînera une erreur de format ou le fichier sera endommagé.

2. Le format Excel de sortie doit être enregistré avec le nom du suffixe, sinon cela provoquera une erreur de format ou le fichier est endommagé

Le code est le suivant :

if (file_exists(CACHE_PATH . $file_name)){
            //$this->logger->error('file realpath:'.realpath(CACHE_PATH . $file_name));
      header( 'Pragma: public' );
      header( 'Expires: 0' );
      header( 'Content-Encoding: none' );
      header( 'Cache-Control: must-revalidate, post-check=0, pre-check=0' );
      header( 'Cache-Control: public' );
   header( 'Content-Type: application/vnd.ms-excel'); 
      header( 'Content-Description: File Transfer' );
      header( 'Content-Disposition: attachment; filename=' . $file_name );
      header( 'Content-Transfer-Encoding: binary' );
      header( 'Content-Length: ' . filesize ( CACHE_PATH . $file_name ) );
      readfile ( CACHE_PATH . $file_name );
  } else {
   $this->logger->error('export model :'.$id.' 错误:未生产文件');
      echo &#39;<script>alert(\&#39;export error, file not exists!\&#39;)</script>&#39;;
  }

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn