Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用搜索输出字符串打开本地网络文件_Php_Search_Lucidworks - Fatal编程技术网

Php 使用搜索输出字符串打开本地网络文件

Php 使用搜索输出字符串打开本地网络文件,php,search,lucidworks,Php,Search,Lucidworks,多年来,我一直在尝试使用各种类型的“文件、文件获取内容、fopen、opendir等”来完成我的日常工作,但我无能为力,这超出了我的理解,很遗憾。但我要在这里学习 我想做什么?我与LucidWorks合作,构建了一个内部网搜索,搜索给定的特定路径“C://example/example/…”,并对所有文件进行全文搜索。在我的intranet网站上搜索的结果很简单: 文件标题 带有突出显示的keyowrds的正文标题 文件的路径 现在,这还不够,我懒惰的同伴们希望能够单击文档标题(它后面确实有

多年来,我一直在尝试使用各种类型的“文件、文件获取内容、fopen、opendir等”来完成我的日常工作,但我无能为力,这超出了我的理解,很遗憾。但我要在这里学习

我想做什么?我与LucidWorks合作,构建了一个内部网搜索,搜索给定的特定路径“C://example/example/…”,并对所有文件进行全文搜索。在我的intranet网站上搜索的结果很简单:

  • 文件标题
  • 带有突出显示的keyowrds的正文标题
  • 文件的路径
现在,这还不够,我懒惰的同伴们希望能够单击文档标题(它后面确实有文档的完整路径,这样您就可以更好地将其描绘为“C:/Ex/Ex/Ex/docs/sap/text.txt(或任何其他终端))并在本地打开它

以下是我认为与我要完成的工作相关的代码部分。我内置的“解决方案”不起作用,但它可能会让您了解我在这里要完成的工作

$searchParams = array(
                'hl' => 'true',
                'hl.fl' => 'body'
            );

            $response = $LWS->search($query, $offset, $limit, $searchParams);

            if ($response->response->numFound > 0) {

                foreach ($response->response->docs as $doc) {
                    ?>

                    <div id="resultbox">
                        <span id="resulttitle"> <?php echo "<a href={$doc->id}'>{$doc->title}</a><br />"; ?> </span> 

                        <?php
                        $content = (("{$doc->id}'>{$doc->title}"));
                        print_r( '<a href= ' . fopen(str_replace('%', ' ', $content), "r+") . '>Open File</a><br />');
                        ?>

                        <SPAN ID="copytext"  >
                            <?php echo substr($content, -100); ?> 
                            <br></SPAN>

                        <div id="sbody">
                            <?php
                            echo "..." . $response->highlighting->{$doc->id}->body[0] . "...<br /><br />";
                        }
                        echo '<br />';
                        return;
                    } else {
                        echo "No results for \"" . $query . "\"";
                        return;
                    }
                    ?>
$searchParams=array(
'hl'=>'true',
'hl.fl'=>'body'
);
$response=$LWS->search($query、$offset、$limit、$searchParams);
如果($response->response->numFound>0){
foreach($response->response->docs as$doc){
?>

看起来好像您正试图将文件的内容放入锚点/链接(

)的
href
属性中;
输出结果看起来像

<a href="file:/C:/path/to/your/file.txt">Open File</a><br />


当你说你的解决方案不起作用时,你是什么意思?它是否输出任何错误?或者输出与预期的输出不同?我要么得到一个输出错误,如下所示:
警告:fopen(文件:/C:/Users/dominikf/Desktop/TestUti/Test 20Sap 20Uti 20Test 20Sap 20Uti 20-20Kopie 20(10).txt'>)[function.fopen]:无法打开流:第55行的C:\wamp\www\Intranet\u Server\searcher.php中的参数无效
,或者指向文件的链接只是将我重定向到files.php(显示内容的位置)。第55行是代码的
print\r('
');
):)部分。我也到过这里,这确实显示了“打开的文件”“尽管有正确的路径,但它仍然无法打开目录。我知道现代浏览器会阻止这种行为,但我不知道如何解决这一问题。”(如果您直接在浏览器url中键入路径,它是否会在浏览器中显示文件?是的。首先,这将是一个很好的解决方案,长期解决方案是在相应的程序中打开文件。acrobat中的PDF、.Microsoft word中的doc等…。这是另一个问题。您可能会发现,它完全没有显示。)ependant关于用户如何设置他们的浏览器,我很担心,所以我认为你不能强迫它在另一个应用程序中打开,而不是在浏览器中。那就足够了,但问题仍然是,它不能在浏览器中打开。如果我能做到这一点,我可能会添加一个文本编辑器,这对f来说就足够了系统中的irst集成。将来可以找到任何其他解决方案。但是,如果有人想出一个解决方案来实际在本地打开文件,那就太好了!
<a href="file:/C:/path/to/your/file.txt">Open File</a><br />