Readfile () с ошибкой предупреждения и html_entity_decode () не работает - PHP - PullRequest
0 голосов
/ 29 января 2019

Я пытаюсь использовать php для загрузки файла с ssh-сервера.Загрузка работает, но я получил предупреждение с моей функцией readfile (), и символы остаются в стиле html, пока я использую эту функцию html_entity_decode ().

Если я попробую это: var_dump($output), это даст мне что-то вродеэта строка (ххх) "".Строка с символами ххх, но пустая.

Ошибка:

<b>Warning</b>:  readfile(&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&lt;ResultatPEC xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema- instance&quot; dateCreation=&quot;02-12-2018&quot; versionFichier=&quot;0000842887&quot; xsi:noNamespaceSchemaLocation=&quot;Resultats_PEC_2.10.xsd&quot;&gt;
&lt;IdentificationDepot CodeOffre=&quot;0&quot; CodeSiteDepot=&quot;932930&quot; DateDepot=&quot;26-11-2018&quot; HeureDepot=&quot;07:04&quot; IDDeposant=&quot;590226&quot; NiveauService=&quot;E&quot; NumDepot=&quot;BR099441&quot; NumeroBip=&quot;0000793653&quot; NumSTP=&quot;21787924&quot; OptionDateDepot=&quot;DepotJourCreux&quot; OptionMeca=&quot;0&quot; OptionSiteDepot=&quot;Standard&quot; TypeDeclaration=&quot;DEPOT&quot; ZoneDense=&quot;1&quot;/&gt;
  &lt;Publication IDPCD=&quot;1174646&quot; NoPublication=&quot;0520K87314&quot; NoParution=&quot;391&quot; NoParutionConstate=&quot;391&quot; PublicationPanelisee=&quot;0&quot; TypeParution=&quot;NUM&quot; TypeParutionConstate=&quot;NUM&quot;&gt;
     in <b>D:\www\SAGAPEC\application\modules\supervision\controllers\AdminController.php</b> on line <b>397</b><br />

Мой код:

$connection = ssh2_connect($this->_configFile->ftp->hostname, $this->_configFile->ftp->port);
        if ($connection) {
            $login = ssh2_auth_password($connection, $this->_configFile->ftp->login, $this->_configFile->ftp->password);
            if ($login) {
                $content = true;
                if ($content) { 
                    $fileName = $this->_getParam('name');
                    if ($fileName){ 
                        $stream = ssh2_exec($connection, "cat {$fileName}");
                        stream_set_blocking($stream, true);
                        $output = stream_get_contents($stream);
                        simplexml_load_string($output); 
                        $abc = html_entity_decode($output,ENT_QUOTES,"UTF-8");

                        $file = $abc; 

                        header("Content-Description: File Transfer"); 
                        header("Content-Type: application/octet-stream"); 
                        header('Content-Transfer-Encoding: binary');
                        header("Content-Disposition: attachment; filename=" . basename($file)); 

                        readfile($file);
                        exit(); 
                    }
...