Как получить файл с использованием собственных функций php и Android

Я сделал функцию в частном разделе моего веб-сайта, чтобы получить и отобразить некоторый файл репозитория.

Ниже приведена функция:

function getFilesChantier($devis, $cp) {
        //        Si dossier cp n'existe pas on le créé
        if (!file_exists(_DOCS_ . 'C' . $cp)) {
            mkdir(_DOCS_ . 'C' . $cp, 0777, true);
            fopen(_DOCS_ . 'C' . $cp . '/index.html', w);
        }
        if (!file_exists(_DOCS_ . 'C' . $cp . '/' . $devis)) {
            mkdir(_DOCS_ . 'C' . $cp . '/' . $devis, 0777, true);
            fopen(_DOCS_ . 'C' . $cp . '/' . $devis . '/index.html', w);
        }

        //On liste les fichiers pdf
        $repertoire = _DOCS_ . 'C' . $cp . '/' . $devis;
        if ($dossier = opendir($repertoire)) {
            while (false !== ($fichier = readdir($dossier))) {
                if ($fichier != '.' && $fichier != '..' && $fichier != 'index.php' && $fichier != 'index.html' && $fichier != 'Thumbs.db') {
                    $nb_fichier++; // On incrémente le compteur de 1
                    $retour[$nb_fichier]['name_file'] = str_replace('/var/www/sp-batiment.com/htdocs/docs/C' . $cp . '/' . $devis . '/', '', $repertoire . '/' . $fichier);
                    $retour[$nb_fichier]['url_file'] = str_replace('/var/www/sp-batiment.com/htdocs/', '', $repertoire . '/' . $fichier);
                    $retour[$nb_fichier]['nb_file'] = $nb_fichier;
                    $retour[$nb_fichier]['date_file'] = date("F d Y H:i:s.", filectime($repertoire . '/' . $fichier));
                }
            }
        }
        return $retour;
    }

Все работает отлично во всех браузерах,

Ниже приводится рендеринг моего веб-сайта.

введите описание изображения здесь

но когда мы обращаемся к телефону (Android Samsung), он не работает в браузере Chrome Chrome,

он ничего не отображает.

введите описание изображения здесь

Я не знаю, что-то не так с моей функцией, или это факт, что он звонит по телефону?

страница называется одинаковой, просто изменение браузера (первый - классический google chrome на компьютере), другой - галактика samsung с google chrome.

Всем приветствуется помощь.

Изменить: я использую bootstrap, под кодом моей таблицы

<div class="col-md-12">
    <h3>Mes documents</h3>
    <table class="table table-bordered">
        <thead>
            <tr>
                <th>#</th>
                <th><i class="fa fa-calendar"></i> Date</th>
                <th class="text-center">Type</th>
                <th>Fichier</th>
                <th>Options</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td nowrap="">1</td>
                <td nowrap="">17-08-2016 </td>
                <td nowrap="" class="text-center"><span class="label label-danger" style="text-transform:uppercase;tex-align:left"><i class="fa fa-file-pdf-o"></i></span></td>
                <td nowrap=""> compément-de-devis-1.pdf</td>
                <td nowrap="">
                    <form action="php/download.php" method="post">
                        <button class="btn btn-dark btn-xs"><i class="fa fa-cloud-download"></i> Télécharger</button>
                    </form>
                </td>
            </tr>
            <tr>
                <td nowrap="">2</td>
                <td nowrap="">04-08-2016 </td>
                <td nowrap="" class="text-center"><span class="label label-danger" style="text-transform:uppercase;tex-align:left"><i class="fa fa-file-pdf-o"></i></span></td>
                <td nowrap=""> autorisation-changement-de-façade.pdf</td>
                <td nowrap="">
                    <form action="php/download.php" method="post">
                        <button class="btn btn-dark btn-xs"><i class="fa fa-cloud-download"></i> Télécharger</button>
                    </form>
                </td>
            </tr>
            <tr>
                <td nowrap="">3</td>
                <td nowrap="">03-08-2016 </td>
                <td nowrap="" class="text-center"><span class="label label-danger" style="text-transform:uppercase;tex-align:left"><i class="fa fa-file-pdf-o"></i></span></td>
                <td nowrap=""> devis-initial.pdf</td>
                <td nowrap="">
                    <form action="php/download.php" method="post">
                        <button class="btn btn-dark btn-xs"><i class="fa fa-cloud-download"></i> Télécharger</button>
                    </form>
                </td>
            </tr>
            <tr>
                <td nowrap="">4</td>
                <td nowrap="">03-08-2016 </td>
                <td nowrap="" class="text-center"><span class="label label-danger" style="text-transform:uppercase;tex-align:left"><i class="fa fa-file-pdf-o"></i></span></td>
                <td nowrap=""> plan-du-batiment.pdf</td>
                <td nowrap="">
                    <form action="php/download.php" method="post">
                        <button class="btn btn-dark btn-xs"><i class="fa fa-cloud-download"></i> Télécharger</button>
                    </form>
                </td>
            </tr>
            <tr>
                <td nowrap="">5</td>
                <td nowrap="">03-08-2016 </td>
                <td nowrap="" class="text-center"><span class="label label-danger" style="text-transform:uppercase;tex-align:left"><i class="fa fa-file-pdf-o"></i></span></td>
                <td nowrap=""> facture-acompte-n-1.pdf</td>
                <td nowrap="">
                    <form action="php/download.php" method="post">
                        <button class="btn btn-dark btn-xs"><i class="fa fa-cloud-download"></i> Télécharger</button>
                    </form>
                </td>
            </tr>
        </tbody>
    </table>                                   
</div>

Ответы

Ответ 1

В вашем html-коде нет проблемы, поскольку я запускаю его на своем мобильном устройстве и его работоспособность.

Небольшая ошибка опечатки tex-align до text-error в вашем коде

Вы можете проверить свой html-код в своем мобильном браузере Chrome Chrome через ваш компьютер. Проверьте ссылки

https://developers.google.com/web/tools/chrome-devtools/debug/remote-debugging/remote-debugging?hl=en

Из него вы можете проверить, что строка таблицы раздувается от вашего php-кода или есть какие-либо проблемы с вашим html-кодом

Надеюсь, это поможет

Ответ 2

Проблема не может быть в PHP-коде (она интерпретируется на сервере, а не на устройстве), она находится в вашем коде HTML или Javascript. Вы не предоставили его, поэтому я не могу помочь отладить. Но вы можете попробовать изменить размер окна телефона на размер экрана телефона в Chrome, и вы, вероятно, получите тот же результат. Также в настольном Chrome вы можете нажать F12, нажать кнопку "Toggle Device" и выбрать соответствующее устройство.

Обновление. Я разместил код HTML, который вы предоставили jsfiddle (извините за дублирование кода в ответе, но SO не позволяет ссылаться на jsfiddle без кода).

<div class="col-md-12">
    <h3>Mes documents</h3>
    <table class="table table-bordered">
        <thead>
            <tr>
                <th>#</th>
                <th><i class="fa fa-calendar"></i> Date</th>
                <th class="text-center">Type</th>
                <th>Fichier</th>
                <th>Options</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td nowrap="">1</td>
                <td nowrap="">17-08-2016 </td>
                <td nowrap="" class="text-center"><span class="label label-danger" style="text-transform:uppercase;tex-align:left"><i class="fa fa-file-pdf-o"></i></span></td>
                <td nowrap=""> compément-de-devis-1.pdf</td>
                <td nowrap="">
                    <form action="php/download.php" method="post">
                        <button class="btn btn-dark btn-xs"><i class="fa fa-cloud-download"></i> Télécharger</button>
                    </form>
                </td>
            </tr>
            <tr>
                <td nowrap="">2</td>
                <td nowrap="">04-08-2016 </td>
                <td nowrap="" class="text-center"><span class="label label-danger" style="text-transform:uppercase;tex-align:left"><i class="fa fa-file-pdf-o"></i></span></td>
                <td nowrap=""> autorisation-changement-de-façade.pdf</td>
                <td nowrap="">
                    <form action="php/download.php" method="post">
                        <button class="btn btn-dark btn-xs"><i class="fa fa-cloud-download"></i> Télécharger</button>
                    </form>
                </td>
            </tr>
            <tr>
                <td nowrap="">3</td>
                <td nowrap="">03-08-2016 </td>
                <td nowrap="" class="text-center"><span class="label label-danger" style="text-transform:uppercase;tex-align:left"><i class="fa fa-file-pdf-o"></i></span></td>
                <td nowrap=""> devis-initial.pdf</td>
                <td nowrap="">
                    <form action="php/download.php" method="post">
                        <button class="btn btn-dark btn-xs"><i class="fa fa-cloud-download"></i> Télécharger</button>
                    </form>
                </td>
            </tr>
            <tr>
                <td nowrap="">4</td>
                <td nowrap="">03-08-2016 </td>
                <td nowrap="" class="text-center"><span class="label label-danger" style="text-transform:uppercase;tex-align:left"><i class="fa fa-file-pdf-o"></i></span></td>
                <td nowrap=""> plan-du-batiment.pdf</td>
                <td nowrap="">
                    <form action="php/download.php" method="post">
                        <button class="btn btn-dark btn-xs"><i class="fa fa-cloud-download"></i> Télécharger</button>
                    </form>
                </td>
            </tr>
            <tr>
                <td nowrap="">5</td>
                <td nowrap="">03-08-2016 </td>
                <td nowrap="" class="text-center"><span class="label label-danger" style="text-transform:uppercase;tex-align:left"><i class="fa fa-file-pdf-o"></i></span></td>
                <td nowrap=""> facture-acompte-n-1.pdf</td>
                <td nowrap="">
                    <form action="php/download.php" method="post">
                        <button class="btn btn-dark btn-xs"><i class="fa fa-cloud-download"></i> Télécharger</button>
                    </form>
                </td>
            </tr>
        </tbody>
    </table>                                   
</div>

Он отлично выглядит и отображается на моем Chrome на мобильных устройствах. Вы уверены, что нет ничего более этого HTML? Например, некоторые дополнительные CSS и JS помимо стандартного бутстрапа.

Ответ 3

Причина 1:

Вы не указали свои php-коды для этого процесса вывода (из PHP) для этих частей HTML. Хотя в PHP существуют классы для обнаружения BROWSER, существует очень мало шансов, что вы случайно использовали это в своем процессе вывода. Однако давайте предоставим эту часть или проверим ее самостоятельно.

Причина 2:

Как вы говорите, что при "переключении" устройства вы их видите, значит, есть проблема с CSS. Проверьте, имеют ли элементы классы/стили CSS, такие как @media max-width:... или overflow:hidden или похожи на них, что заставляет таблицу скрываться.

Причина 3:

Хотя вы говорите, что на странице больше нет кодов, я сомневаюсь, что может быть какой-то код Javascript, который может вызвать проблемы. Много раз JS-таблицы динамически загружаются после загрузки страницы, и, возможно, в браузере устройства возникают некоторые проблемы. Если вы поделились всеми своими PHP/HTML-кодами, которые вы используете для проекта, тогда было бы легче обнаружить проблему.

Ответ 4

Добавьте этот код на свою страницу, чтобы он стал более понятным для мобильных пользователей.

<style>
@media 
only screen and (max-width: 760px),
(min-device-width: 768px) and (max-device-width: 1024px)  {
	table, thead, tbody, th, td, tr { 
		display: block; 
	}
	
	thead tr { 
		position: absolute;
		top: -9999px;
		left: -9999px;
	}
	
	tr { border: 1px solid #ccc; }
	
	td { 
		/* Behave  like a "row" */
		border: none;
		border-bottom: 1px solid #eee; 
		position: relative;
		padding-left: 50%; 
	}
	
	td:before { 
		position: absolute;
		top: 6px;
		left: 6px;
		width: 45%; 
		padding-right: 10px; 
		white-space: nowrap;
	}
	
	
	td:nth-of-type(1):before { content: "#"; }
	td:nth-of-type(2):before { content: "Date"; }
	td:nth-of-type(3):before { content: "Type"; }
	td:nth-of-type(4):before { content: "Fichier"; }
	td:nth-of-type(5):before { content: "Options"; }
	
}
</style>

Ответ 5

Я проверил ваш html-код в браузере на рабочем столе, работая отлично. Как и на рабочем столе, я также тестирую его на мобильном представлении, таблица отзывчива, но их столбец все еще стабилен из-за Bootstrap..

У меня возникла ваша проблема, это не проблема с браузером... Проверьте свой html правильно и напишите его в соответствующей форме таблицы html bootstrap. Главное, что вы просто перекрестно тестируете на html, что все теги закрыты..

В Mobile view некоторые из тегов открыты, но не закрыты. Причина, по которой эта таблица перекрывается. Вы просто проверяете это, в мобильном режиме. Я думаю, что это может произойти с петлей php (просто проверьте все).