【问题标题】:Search and Download file from a source directory using html form and php使用 html 表单和 php 从源目录搜索和下载文件
【发布时间】:2015-01-30 15:13:10
【问题描述】:

我在一个目录中有 pdf 之类的文件,我创建了一个搜索表单,用户将在其中输入文件代码,如果它与文件名匹配,它将搜索源目录,如果不匹配,它将允许用户下载文件它将显示“无结果”这是我所做的,但我不确定应该使用什么代码从源目录下载文件,我只是看到了在某处下载文件并用变量 i 替换源文件的代码用户搜索时使用

<html>
          <head>
            <title>Search  Contacts</title>
          </head>
          <body>

            <h3>Search Client File</h3>
            <form  method="post" action="#"  id="searchform">
              Type the File Code:<br><br>
                  <input  type="text" name="fcode">
            <br>
      <input  type="submit" name="submit" value="Search">
            </form>

<?php
$filecode=$_POST["fcode"];
     if (!empty($filecode))
     {
 $ch = curl_init();
$source = "/sdir/$filecode.pdf";
curl_setopt($ch, CURLOPT_URL, $source);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec ($ch);
curl_close ($ch);

$destination = "/tdir/afile.pdf";
$file = fopen($destination, "w+");
fputs($file, $data);
fclose($file);
     }
     else
     {
       echo "No Results";
     }

        ?>
    </body>
    </html>

【问题讨论】:

  • “它不起作用并且显示任何东西”是什么意思?你看到表格了吗,当它不起作用时会发生什么?错误消息,白页,没有结果?请再清楚一点。
  • $file="&lt;sourcefile?&gt;" 这是什么意思?
  • 对不起,我现在已经编辑了我的问题,我真的不知道应该使用什么代码从我的源目录下载文件

标签: php html file search download


【解决方案1】:

我认为您的问题与$file="&lt;sourcefile?&gt;" 行有关,因为这似乎(至少对我而言)没有意义。但是,如果您确保 PHP 已打开错误日志记录,然后查找您的 PHP 错误日志文件,您将更好地了解您的问题。

类似(在您的 PHP 页面顶部):

抱歉,此代码较旧:

ini_set("log_errors", 1);
ini_set("error_log", "/tmp/php-error.log");

见:https://stackoverflow.com/a/3531852/3536236

更新的方法:

    ini_set("error_log", "/tmp/php-error.log");
    error_reporting(E_ALL);

这意味着您可以下载并查看日志文件"/tmp/php-error.log",这将解释 PHP 失败的原因,如果它确实失败了。

很抱歉,我不能给你一个更准确的答案,但这会告诉你究竟出了什么问题,而不是一个有点模糊的“它不起作用”。

如何下载文件

http://www.media-division.com/the-right-way-to-handle-file-downloads-in-php/

https://stackoverflow.com/a/3320743/3536236

我认为在遵循这两个链接之后,您应该可以使用它。

【讨论】:

  • 抱歉,我现在已经编辑了我的问题,我真的不知道应该使用什么代码从我的源目录下载文件 –
  • 我更新的 anwser 可用于查找文件所需的代码,并将文件地址/名称作为 $var 获取。尝试使用glob 或类似方式加载正确的文件。
  • 谢谢你,但我几乎是 php 的新手,我不知道如何将链接上指示的那个放到我的脚本的链接中,似乎它们不完整
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-19
相关资源
最近更新 更多