如何使用PHP本地函数和Android获取文件

我在我的网站的私人部分做了一个函数,得到并显示一个存储库的一些文件。

以下是我所做的function:

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 YH:i:s.", filectime($repertoire . '/' . $fichier)); } } } return $retour; } 

所有的浏览器都可以正常工作,

以下是我的网站的呈现

在这里输入图像说明

但是当我们转向手机(Android的三星),它不适用于谷歌Chrome浏览器,

它什么都不显示。

在这里输入图像说明

我不知道我的function有什么问题,或者是打电话的事实?

所调用的页面是一样的,只是浏览器的变化(第一个是电脑上的经典谷歌浏览器),另一个是谷歌浏览器的三星Galaxy。

任何帮助将不胜感激。

编辑:我使用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> 

Solutions Collecting From Web of "如何使用PHP本地函数和Android获取文件"

在你的html代码中没有问题,因为我在我的移动设备上运行它,它的工作正常。

在你的代码中text-error一个小的错字错误tex-align to text-error

您可以通过您的PC在您的手机谷歌Chrome浏览器中检查您的HTML代码。 检查这个链接

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

从它你可以检查表行是从您的PHP代码膨胀或有任何问题,您的HTML代码

希望这会有所帮助

问题不能在PHP代码(它在服务器上解释,而不是在设备上),它是在你的HTML或Javascript代码。 你没有提供它,所以我不能帮助debugging。 但是,您可以尝试在Chrome中尝试调整窗口大小以适应手机的屏幕大小,您可能会得到相同的结果。 另外在桌面版Chrome中,您可以按F12,按“切换设备”button并select适当的设备。

更新 :我张贴的HTML代码,你提供给jsfiddle (抱歉在你的代码复制的答案,但不允许链接到没有代码的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> 

它看起来很好,并显示在我的移动设备上的铬。 你确定没有什么比这个HTML吗? 例如,除了标准引导程序之外,还有一些额外的CSS和JS。

原因1:

你还没有提供你的PHP代码的输出过程(从PHP)的HTML部分。 尽pipe在PHP中存在用于检测BROWSER的类,但在输出过程中不小心使用了这个类。 但是,让我们提供这个部分,或者自己检查一下。

原因2:

正如你所说,当“切换”设备,你看到他们,那就意味着有CSS问题。 检查元素是否具有像@media max-width: …或者overflow:hidden或者像他们一样的css类/样式,这会导致表被隐藏。

原因3:

虽然你说,页面中没有更多的代码,我怀疑可能有一些Javascript代码,这可能会导致问题。 很多时候,JS表格在页面加载之后被dynamic加载,也许在设备浏览器中存在一些问题。 如果您已经共享了您在项目中使用的所有PHP / HTML代码,那么检测该问题就会变得更加容易。

在您的页面中添加此代码,使其对移动用户更加清晰

 <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> 

我有检查您的HTML代码在浏览器在桌面上工作正常..就像桌面,我也testing它的移动视图,表是响应,但他们的列仍然稳定由于Bootstrap ..

我得到你的问题,这不是任何浏览器问题…检查你的HTML,并写在正确的引导HTML表格forms。 主要的事情你只是在HTMLtesting所有的标签都closures..

在移动视图中,一些标记是打开的,但没有closures,导致这个表格自身重叠。 你只是检查它,在移动视图..我认为这可能会发生在PHP循环(只是检查所有的东西)。