如何从html文件中的php代码打开文件

时间:2016-02-15 11:02:02

标签: php html ini

我有“.html”文件,里面我运行php代码。 php代码应该打开“.ini”文件。

".ini" file:
blast+: blast+\bin

blastn: test_na_db => Nucleotide test database
blastp: test_aa_db => Protein test database
blastx: test_aa_db => Protein test database
tblastn: test_na_db => Nucleotide test database
tblastx: test_na_db => Nucleotide test database


".html" file:
<td valign=top>&nbsp;&nbsp;&nbsp;Database(s)</td>
<td>
<?php
$fp = fopen ("./filename.ini", "r");
if(!$fp) {
    echo "<p><strong> Error: Couldn't open file filename.ini </strong></p></body></html>";
    exit;
}
while(!feof($fp)) {
    $blastdbstring = rtrim(fgets($fp));
    if (!$blastdbstring) {
        continue;
    }
    if (!preg_match("/^\s*#/", $blastdbstring)) {
        $blastdbArray = preg_split('/:/', $blastdbstring);  
        $blastProgram = $blastdbArray[0];
        $dbString = $blastdbArray[1];

        if ($blastProgram == "blast+") {
            echo "<input type='hidden' name= 'blastpath' value='$dbString'>";
        }else {
            if (preg_match("/^\s*(.*?)\s*$/", $blastProgram, $match)) {
                $blastProgram = $match[1];
            }
            if (preg_match("/^\s*(.*?)(\s*|\s*,\s*)$/", $dbString, $match)) {
                $dbString = $match[1];
            }
            $dbString = preg_replace("/\s*=>\s*/", "=>", $dbString);
            if (preg_match("/,/", $dbString, $match)) {
                $dbString = preg_replace("/\s*,\s*/", ",", $dbString);
            }       
            echo "<input id='$blastProgram' type='hidden' name='blastdb[]' value='$dbString'>";
        }
    }   
}
fclose($fp);

?>
<select id="dbList" size=4 multiple="multiple" name ="patientIDarray[]">
<script type="text/javascript">
    here call js function that create options depend on the selection of previous question
</script>

</select>
</td>

每次收到此错误消息时: 无法打开文件filename.ini !!!!

“。html”文件和“.ini”文件位于同一目录中。

我完全控制了“.ini”文件

有什么建议吗?

4 个答案:

答案 0 :(得分:1)

您可能想要使用parse_ini_file     

// Parse without sections
$ini_array = parse_ini_file("sample.ini");
print_r($ini_array);

// Parse with sections
$ini_array = parse_ini_file("sample.ini", true);
print_r($ini_array);

http://php.net/manual/en/function.parse-ini-file.php

答案 1 :(得分:0)

请检查文件的许可,可能无法访问。

请运行&#34; chmod 666 filename.ini&#34;

答案 2 :(得分:0)

试试这个:

$fp = fopen (__DIR__ . "/filename.ini", "r");

查看魔术常量列表:http://php.net/manual/en/language.constants.predefined.php

答案 3 :(得分:0)

使用Ajax Request获取INI文件的内容。

不需要运行文件的PHP代码。

PHP脚本现在可以使用.htm或.HTML文件。