从php

时间:2016-03-30 00:48:06

标签: javascript php jquery ajax svn

我已经从我的svn下载了文件,这些文件现在存储在我本地磁盘上的文档中。这些文件大多是php文件。我如何读取位于我本地磁盘上的文档(并且不是" txt")并在使用php的网站上打开它们。到目前为止,这就是我所拥有的,

的index.php

<script>
$(function() {
    $('#getData').click(function(event) {
        event.preventDefault();

        $.ajax({
            type: "GET",
            url: "endPoint.php",
            data : { field2_name : $('#userInput2').val() },
            beforeSend: function(){
            }
            , complete: function(){
            }
            , success: function(html){
                //this will add the new comment to the `comment_part` div
                $("#displayParse").html(html);
                //$('[name=field1_name]').val('');
            }
        });
    });
});

</script>


<form id="comment_form" action="endPoint.php" method="GET">
    Enter the file you would like to view:
    <input type="text" class="text_cmt" name="field2_name" id="userInput2"/>
    <input type="submit" name="submit" value="submit" id = "getData"/>
    <input type='hidden' name='parent_id' id='parent_id' value='0'/>
</form>

<div id="displayParse">
</div>

endPoint.php

<?php

$filePath = $_GET["field2_name"];
$url = "cs_data/home/" . $filePath;

$file = fopen($url, "r");
fread($file,filesize($url));

echo '<div class="comment">' . $file . '</div>';


?>

基本上用户输入他们想要打开的文件,文件位于我的本地磁盘上。不确定我在哪里出错,因为文件内容没有被打印出来,而是我打印出来了#34;资源ID#3&#34;。我也在使用MAMP在localhost上运行我的代码。我使用的IDE是phpstorm。我不确定我的文档是否需要加载到phpstorm才能访问它们

2 个答案:

答案 0 :(得分:2)

fread返回你感兴趣的字符串。所以,你没有检索文件的内容,正在做的是基本打印文件php参考! 试试这个:

$filecontent = fread($file,filesize($url));

echo '<div class="comment">' . $filecontent . '</div>';

答案 1 :(得分:1)

$ file“是”文件资源;你不想打印那个,而是打印fread()的返回值,即文件的内容 但是你又不想发送文件的“原始”内容,因为它可能(并且可能会)包含会破坏你的html结构的内容。
至少你应该使用htmlspecialchars()

<?php
$filePath = $_GET["field2_name"];

// you really should add more security checks here
// just imagine a request like field2_name=../../../etc/something.txt
$url = "cs_data/home/" . $filePath;

$contents = file_get_contents($url);
echo '<div class="comment">', htmlspecialchars($contents), '</div>

您可能也对highlight_file()感兴趣:

<?php
$filePath = $_GET["field2_name"];

// you really should add more security checks here
// just imagine a request like field2_name=../../../etc/something.txt
$url = "cs_data/home/" . $filePath;

echo '<div class="comment">';
highlight_file($url, false);
echo '</div>';