PHP отображает нечетные символы при попытке использовать функцию readfile () - PullRequest
0 голосов
/ 24 февраля 2020

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

    <?php foreach ($applications as $application) : ?>        <p> Name: <?php echo $application['fname']; ?> <?php echo $application['mname']; ?> <?php echo $application['lname']; ?><br /></p>
    <?php  

    readfile ($file); ?>

   <?php endforeach; ?> 

Вот пример символов, которые отображаются:

PK! ���Ʌ) [Content_Types]. xml � (�̕MK� @ ���! � U�m + �H��8j� ^ ��I�� �N�������V ۊ� @ 23���0; �'sF'sQ9��N�f X�re ' {= ��YQ� \ hg! C + �l� ?? �VbB�6fl��o8�r F��y�) \ 0�5L��ML�w�� + .�E���R� � {wP���� ~ I�k�: ��N, �2 & ��J �8����Kk�Re����J |�C��] �D� * �d (> CY | �B�s'g� * ��28] Q (M} � 惓 # �� 贉 ��� & 9��̫�! �ap> v�iDK = ������p���LD \ i�ǟ�Zw� = R�) ��; 0 ~> �'� ���X��1�H�������fI����v �8���, � [~ ��oI���A��s��] � # �� �������PK! �U ~ ��_rels / .rels � (���MK1���! ̽; "^ DMdC2 (. Ե 3 y3C ֛ +4 XW (AyX܂ JB УДВП # INJ �� �E�b� = [J���M�% ���a �B�, o0�f @ = a��� n�����o�A��; �N 101

Файл, который я пытаюсь прочитать, является .do c файлом.

1 Ответ

0 голосов
/ 24 февраля 2020

$file кажется неопределенным; предполагая, что $application содержит все данные приложения, которые вы хотите отобразить клиенту, тогда вы должны сделать:

<?php readfile($application['file']); ?>

Если это не работает, значит, вы не используете правильный путь - попробуйте отладку как это:

<?php var_dump($application['file'], file_exists($application['file'])); ?>
...