PHP不将txt文件作为输入

时间:2015-03-09 15:15:44

标签: php

<?php
    $re = "/([AG][AT]AGAGG[TC]GC[GA])[ATGC]+(((AA|[AG])GTA))[ATGC][ATGC]+([AG]A[AG][GA]GG)[ATGC]+(GCCGA[GA][AG])[ATGC]+([TC][TC]GG)[ATGC]+([AG][CT]TG[TC]C[GA][TC])[ATGC]+([GA][CT][CG]G[AG]G[ATGC]G[TC]T[AT][CT])/"; 
$str = "np.txt";

preg_match($re, $str, $matches);
print_r($matches);
?>

当我在代码中提供$str时,这是我的代码。它有效,但是当我从目录中提供文本文件时,它只提供Array()

np.txt ="AGAATGATAATTATCCTGAAAATATATTTTATATATTAACGGAATAATTATTTAAGGTAA
AGTAAGCGAGTCATTATTTTTTAATTTTATGAAATGGAATAATTTATTATTCGTCTGGTT
ATTCGCGAAATGTTAATAAAAATATAGCGTTTAGCTATTGGCAATCGAGGCAGATTAAGG
TAATCTTACAAAGTCCTACAAATCGTAGAGGTGCAAATCCGATAAGTACTTTTTCTGAGT
GGAGAACGAGGAGGAAAAAGGAAAGGCGTATTTGCCGAAATCAGTTAAGCGTCATCTTAA
TTGGTTGGGGTCGTTACCGAAAGGGACGACACTGTCGTAATCCTTGTATTACGGAGTGCT
ACTGCTAGGGTCGGTTCTATTCTTATTATTTCAGATTGCCTACCTCATCTTATGCGTTGC
ATAAATTCTCTCAGTAGATCCTCTTCTTTGTTTGGCTAGTATTTCATTACAAAGTAACTT
TTTTTAGAGGTTTTATGAATTTAATTGATTATTCAAGTTCGTTGCTGTCGATTATGCCGG
CATCGCTTGCTTTACTATTGGCTATGGTTACTCGACGAGTACTGCTGTCTTTAAGTGTCG
GCATCTTAGTCGGTGCCTTTATGCTTTCGGCAACATTTGCGGACGGTTTCGTTTATTTAA
AAAATATTGCTATCGGTTTGGTTTATGCTGACGGTGAATATTCGTTCGGAAAAGTACAGA
TCTTAATTTTCTTACTTTTATTAGGCGTATTTACCTCTTTATTAACTTATTCGGGCAGTA
ATCAGGCTTTTGCCAATTGGGCGAAGAAACATATTAAAGGGCGCCGCGGTGCGAAATTAT
TAACCGCCTGTTTAGTTTTCGTGACGTTTATCGACGACTATTTCCATAGTCTGGCTGTTG
GGGCGATTGCTCGACCGGTAACGGATAAATTTAAAGTTTCGCGTGCAAAATTAGCTTATA
TTCTTGATTCGACCGCCGCACCGATGTGCGTGCTTATGCCGGTTTCCAGCTGGGGAGCTT
CAATTATCGCAACAATCGGCGGTTTATTGGCGACTTATAATATTACCGAATATACGGCGA
TCAGCGCATTCGCTTCAATGAGTTTGATGAACTACTATGCGTTATTTGCCTTAATTATGG
TGTTTATCGTAGCTTATTTCTCATTTGATATCGGTTCGATGAGTCGTTTTGAAAGAAAAG
CGTTGGCTTCGGAAACACATACGAATGAAGATGCGGATGTCGAATCCAAAGGTCGAGTAT" 

2 个答案:

答案 0 :(得分:3)

您没有读取文件,只是将其名称放在字符串变量中,然后匹配名称。

阅读文件

<?php
    $re = "/([AG][AT]AGAGG[TC]GC[GA])[ATGC]+(((AA|[AG])GTA))[ATGC][ATGC]+([AG]A[AG][GA]GG)[ATGC]+(GCCGA[GA][AG])[ATGC]+([TC][TC]GG)[ATGC]+([AG][CT]TG[TC]C[GA][TC])[ATGC]+([GA][CT][CG]G[AG]G[ATGC]G[TC]T[AT][CT])/"; 

    $str = file_get_contents("np.txt");

    preg_match($re, $str, $matches);
    print_r($matches);
?>

答案 1 :(得分:0)

您没有以$ str打开文件,只是将变量设置为np.txt。尝试将其更改为:

$filehandle = fopen("np.txt", "r");
$str = fread($filehandle ,8192);