亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁(yè) > 編程 > PHP > 正文

php讀取文件的方法匯總

2020-03-22 20:20:43
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
  • 在做項(xiàng)目經(jīng)常需要用到PHP讀取文件

    例:采集、配置文件等地方。

    我們?cè)谶@里就轉(zhuǎn)載一篇來(lái)源于IBM的文章。

    了解如何使用 PHP 的各種文件函數(shù)。查看諸如 fopen、fclose 和 feof 之類(lèi)的基本文件函數(shù);了解諸如 fgets、fgetss 和 fscanf 之類(lèi)的讀取函數(shù)。并且發(fā)現(xiàn)用一兩行代碼處理整個(gè)文件的函數(shù)。

    傳統(tǒng)的 fopen 方法
    fopen 方法可能是以前的 C 和 C++ 程序員最熟悉的,因?yàn)槿绻褂眠^(guò)這些語(yǔ)言,那么它們或多或少都是您已掌握多年的工具。對(duì)于這些方法中的任何一種,通過(guò)使用 fopen(用于讀取數(shù)據(jù)的函數(shù))的標(biāo)準(zhǔn)方法打開(kāi)文件,然后使用 fclose 關(guān)閉文件,如清單 1 所示。

    清單 1. 用 fgets 打開(kāi)并讀取文件

    $file_handle = fopen("myfile", "r");
    while (!feof($file_handle)) {
    $line = fgets($file_handle);
    echo $line;
    }
    fclose($file_handle);
    雖然大多數(shù)具有多年編程經(jīng)驗(yàn)的程序員都熟悉這些函數(shù),但是讓我對(duì)這些函數(shù)進(jìn)行分解。有效地執(zhí)行以下步驟:
    打開(kāi)文件。$file_handle 存儲(chǔ)了一個(gè)對(duì)文件本身的引用。
    檢查您是否已到達(dá)文件的末尾。
    繼續(xù)讀取文件,直至到達(dá)文件末尾,邊讀取邊打印每行。
    關(guān)閉文件。
    記住這些步驟,我將回顧在這里使用的每個(gè)文件函數(shù)。
    fopen
    fopen 函數(shù)將創(chuàng)建與文件的連接。我之所以說(shuō)“創(chuàng)建連接”,是因?yàn)槌舜蜷_(kāi)文件之外,fopen 還可以打開(kāi)一個(gè) URL:

    $fh = fopen("http://127.0.0.1/", "r");
    這行代碼將創(chuàng)建一個(gè)與以上頁(yè)面的連接,并允許您開(kāi)始像讀取一個(gè)本地文件一樣讀取它。
    注: fopen 中使用的 “r” 將指示文件以只讀方式打開(kāi)。由于將數(shù)據(jù)寫(xiě)入文件不在本文的討論范圍內(nèi),因此我將不列出所有其他選項(xiàng)。但是,如果是從二進(jìn)制文件讀取以獲得跨平臺(tái)兼容,則應(yīng)當(dāng)將 “r” 更改為 “rb”。稍后您將看到這樣的示例。
    feof
    feof 命令將檢測(cè)您是否已經(jīng)讀到文件的末尾并返回 True 或 False。清單 1 中的循環(huán)將繼續(xù)執(zhí)行,直至您達(dá)到文件“myfile”的末尾。注:如果讀取的是 URL 并且套接字由于不再有任何數(shù)據(jù)可以讀取而超時(shí),則 feof 也將返回 False。
    fclose
    向前跳至清單 1 的末尾,fclose 將實(shí)現(xiàn)與 fopen 相反的功能:它將關(guān)閉指向文件或 URL 的連接。執(zhí)行此函數(shù)后,您將不再能夠從文件或套接字中讀取任何信息。
    fgets
    在清單 1 中回跳幾行,您就到達(dá)了文件處理的核心:實(shí)際讀取文件。fgets 函數(shù)是處理第一個(gè)示例的首選武器。它將從文件中提取一行數(shù)據(jù)并將其作為字符串返回。在那之后,您可以打印或者以別的方式處理數(shù)據(jù)。清單 1 中的示例將精細(xì)地打印整個(gè)文件。
    如果決定限制處理數(shù)據(jù)塊的大小,您可以將一個(gè)參數(shù)添加到 fgets 中限制最大行長(zhǎng)度。例如,使用以下代碼將行長(zhǎng)度限制為 80 個(gè)字符:

    $string = fgets($file_handle, 81);
    回想 C 中的“/0”字符串末尾終止符,將長(zhǎng)度設(shè)為比實(shí)際所需值大一的數(shù)字。因而,如果需要 80 個(gè)字符,則以上示例使用 81。應(yīng)養(yǎng)成以下習(xí)慣:只要對(duì)此函數(shù)使用行限制,就添加該額外字符。
    fread
    fgets 函數(shù)是多個(gè)文件讀取函數(shù)中惟一一個(gè)可用的。它是一個(gè)更常用的函數(shù),因?yàn)橹鹦薪馕鐾ǔ?huì)有意義。事實(shí)上,幾個(gè)其他函數(shù)也可以提供類(lèi)似功能。但是,您并非總是需要逐行解析。
    這時(shí)就需要使用 fread。fread 函數(shù)與 fgets 的處理目標(biāo)略有不同:它趨于從二進(jìn)制文件(即,并非主要包含人類(lèi)可閱讀的文本的文件)中讀取信息。由于“行”的概念與二進(jìn)制文件無(wú)關(guān)(邏輯數(shù)據(jù)結(jié)構(gòu)通常都不是由新行終止),因此您必須指定需要讀入的字節(jié)數(shù)。www.it165.net

    $fh = fopen("myfile", "rb");
    $data = fread($file_handle, 4096);
    以上代碼將讀取 4,096 字節(jié) (4 KB) 的數(shù)據(jù)。注:不管指定多少字節(jié),fread 都不會(huì)讀取超過(guò) 8,192 個(gè)字節(jié) (8 KB)。
    假定文件大小不超過(guò) 8 KB,則以下代碼應(yīng)當(dāng)能將整個(gè)文件讀入一個(gè)字符串。

    $fh = fopen("myfile", "rb");
    $data = fread($fh, filesize("myfile"));
    fclose($fh);
    如果文件長(zhǎng)度大于此值,則只能使用循環(huán)將其余內(nèi)容讀入。
    fscanf
    回到字符串處理,fscanf 同樣遵循傳統(tǒng)的 C 文件庫(kù)函數(shù)。如果您不熟悉它,則 fscanf 將把字段數(shù)據(jù)從文件讀入變量中。

    list ($field1, $field2, $field3) = fscanf($fh, "%s %s %s");
    此函數(shù)使用的格式字符串在很多地方都有描述(如 PHP.net 中),故在此不再贅述。可以這樣說(shuō),字符串格式化極為靈活。值得注意的是所有字段都放在函數(shù)的返回值中。(在 C 中,它們都被作為參數(shù)傳遞。)
    fgetss
    fgetss 函數(shù)不同于傳統(tǒng)文件函數(shù)并使您能更好地了解 PHP 的力量。該函數(shù)的功能類(lèi)似于 fgets 函數(shù),但將去掉發(fā)現(xiàn)的任何 HTML 或 PHP 標(biāo)記,只留下純文本。查看如下所示的 HTML 文件。

    清單 2. 樣例 HTML 文件

    <html>
    <head><title>My title</title></head>
    <body>
    <p>If you understand what "Cause there ain't no one for to give you no pain"
    means then you listen to too much of the band America</p>
    </body>
    </html>
    然后通過(guò) fgetss 函數(shù)過(guò)濾它。
    清單 3. 使用 fgetss

    $file_handle = fopen("myfile", "r");
    while (!feof($file_handle)) {
    echo = fgetss($file_handle);
    }
    fclose($file_handle);
    以下是輸出:

    My title

    If you understand what "Cause there ain't no one for to give you no pain"
    means then you listen to too much of the band America
    fpassthru 函數(shù)
    無(wú)論怎樣讀取文件,您都可以使用 fpassthru 將其余數(shù)據(jù)轉(zhuǎn)儲(chǔ)到標(biāo)準(zhǔn)輸出通道。

    fpassthru($fh);
    此外,此函數(shù)將打印數(shù)據(jù),因此無(wú)需使用變量獲取數(shù)據(jù)。
    非線性文件處理:跳躍訪問(wèn)
    當(dāng)然,以上函數(shù)只允許順序讀取文件。更復(fù)雜的文件可能要求您來(lái)回跳轉(zhuǎn)到文件的不同部分。這時(shí)就用得著 fseek 了。

    fseek($fh, 0);
    以上示例將跳轉(zhuǎn)回文件的開(kāi)頭。如果不需要完全返回 —— 我們可設(shè)定返回千字節(jié) —— 然后就可以這樣寫(xiě):

    fseek($fh, 1024);
    從 PHP V4.0 開(kāi)始,您有一些其他選項(xiàng)。例如,如果需要從當(dāng)前位置向前跳轉(zhuǎn) 100 個(gè)字節(jié),則可以嘗試使用:

    fseek($fh, 100, SEEK_CUR);
    類(lèi)似地,可以使用以下代碼向后跳轉(zhuǎn) 100 個(gè)字節(jié):

    fseek($fh, -100, SEEK_CUR);
    如果需要向后跳轉(zhuǎn)至文件末尾前 100 個(gè)字節(jié)處,則應(yīng)使用 SEEK_END。

    fseek($fh, -100, SEEK_END);
    在到達(dá)新位置后,可以使用 fgets、fscanf 或任何其他方法讀取數(shù)據(jù)。
    注:不能將 fseek 用于引用 URL 的文件處理。
    回頁(yè)首
    提取整個(gè)文件
    現(xiàn)在,我們將接觸到一些 PHP 的更獨(dú)特的文件處理功能:用一兩行處理大塊數(shù)據(jù)。例如,如何提取文件并在 Web 頁(yè)面上顯示其全部?jī)?nèi)容?好的,您看到了 fgets 使用循環(huán)的示例。但是如何能夠使此過(guò)程變得更簡(jiǎn)單?用 fgetcontents 會(huì)使過(guò)程超級(jí)簡(jiǎn)單,該方法將把整個(gè)文件放入一個(gè)字符串中。

    $my_file = file_get_contents("myfilename");
    echo $my_file;
    雖然它不是最好的做法,但是可以將此命令更簡(jiǎn)明地寫(xiě)為:

    echo file_get_contents("myfilename");
    本文主要介紹的是如何處理本地文件,但是值得注意的是您還可以用這些函數(shù)提取、回顯和解析其他 Web 頁(yè)面。

    echo file_get_contents("http://127.0.0.1/");
    此命令等效于:

    $fh = fopen("http://127.0.0.1/", "r");
    fpassthru($fh);
    您一定會(huì)查看此命令并認(rèn)為:“那還是太費(fèi)力”。PHP 開(kāi)發(fā)人員同意您的看法。因此可以將以上命令縮短為:

    readfile("http://127.0.0.1/");

    readfile 函數(shù)將把文件或 Web 頁(yè)面的全部?jī)?nèi)容轉(zhuǎn)儲(chǔ)到默認(rèn)的輸出緩沖區(qū)。默認(rèn)情況下,如果失敗,此命令將打印錯(cuò)誤消息。要避免此行為(如果需要),請(qǐng)嘗試:
    1
    @readfile("http://127.0.0.1/");
    當(dāng)然,如果確實(shí)需要解析文件,則 file_get_contents 返回的單個(gè)字符串可能有些讓人吃不消。您的第一反應(yīng)可能是用 split() 函數(shù)將它分解一下。

    $array = split("/n", file_get_contents("myfile"));
    但是既然已經(jīng)有一個(gè)很好的函數(shù)為您執(zhí)行此操作為什么還要這樣大費(fèi)周章?PHP 的 file() 函數(shù)一步即可完成此操作:它將返回分為若干行的字符串?dāng)?shù)組。

    $array = file("myfile");
    應(yīng)當(dāng)注意的是,以上兩個(gè)示例有一點(diǎn)細(xì)微差別。雖然 split 命令將刪除新行,但是當(dāng)使用 file 命令(與 fgets 命令一樣)時(shí),新行仍將被附加到數(shù)組中的字符串上。
    但是,PHP 的力量還遠(yuǎn)不止于此。您可以在一條命令中使用 parse_ini_file 解析整個(gè) PHP 樣式的 .ini 文件。parse_ini_file 命令接受類(lèi)似清單 4 所示的文件。

    清單 4. 樣例 .ini 文件

    ; Comment
    [personal information]
    name = "King Arthur"
    quest = To seek the holy grail
    favorite color = Blue

    [more stuff]
    Samuel Clemens = Mark Twain
    Caryn Johnson = Whoopi Goldberg
    以下命令將把此文件轉(zhuǎn)儲(chǔ)為數(shù)組,然后打印該數(shù)組:

    $file_array = parse_ini_file("holy_grail.ini");
    print_r $file_array;
    以下輸出的是結(jié)果:

    Listing 5. 輸出

    Array
    (
    [name] => King Arthur
    [quest] => To seek the Holy Grail
    [favorite color] => Blue
    [Samuel Clemens] => Mark Twain
    [Caryn Johnson] => Whoopi Goldberg
    )
    當(dāng)然,您可能注意到此命令合并了各個(gè)部分。這是默認(rèn)行為,但是您可以通過(guò)將第二個(gè)參數(shù)傳遞給 parse_ini_file 輕松地修正它:process_sections,這是一個(gè)布爾型變量。將 process_sections 設(shè)為 True。

    $file_array = parse_ini_file("holy_grail.ini", true);
    print_r $file_array;
    并且您將獲得以下輸出:

    清單 6. 輸出

    Array
    (
    [personal information] => Array
    (
    [name] => King Arthur
    [quest] => To seek the Holy Grail
    [favorite color] => Blue
    )

    [more stuff] => Array
    (
    [Samuel Clemens] => Mark Twain
    [Caryn Johnson] => Whoopi Goldberg
    )

    )
    PHP 將把數(shù)據(jù)放入可以輕松解析的多維數(shù)組中。
    對(duì)于 PHP 文件處理來(lái)說(shuō),這只是冰山一角。諸如 tidy_parse_file 和 xml_parse 之類(lèi)的更復(fù)雜的函數(shù)可以分別幫助您處理 HTML 和 XML 文檔。有關(guān)這些特殊函數(shù)的使用細(xì)節(jié),請(qǐng)參閱 參考資料。如果您要處理那些類(lèi)型的文件,則那些參考資料值得一看,但不必過(guò)度考慮本文中談到的每種可能遇到的文件類(lèi)型,下面是一些用于處理到目前為止介紹的函數(shù)的很好的通用規(guī)則。
    回頁(yè)首
    最佳實(shí)踐
    絕不要假定程序中的一切都將按計(jì)劃運(yùn)行。例如,如果您要查找的文件已被移動(dòng)該當(dāng)如何?如果權(quán)限已被改變而無(wú)法讀取其內(nèi)容又當(dāng)如何?您可以通過(guò)使用 file_exists 和 is_readable 預(yù)先檢查這些問(wèn)題。

    清單 7. 使用 file_exists 和 is_readable

    $filename = "myfile";
    if (file_exists($filename) && is_readable ($filename)) {
    $fh = fopen($filename, "r");
    # Processing
    fclose($fh);
    }
    但是,在實(shí)踐中,用這樣的代碼可能太繁瑣了。處理 fopen 的返回值更簡(jiǎn)單并且更準(zhǔn)確。

    if ($fh = fopen($filename, "r")) {
    # Processing
    fclose($fh);
    }

    由于失敗時(shí) fopen 將返回 False,這將確保僅當(dāng)文件成功打開(kāi)后才執(zhí)行文件處理。當(dāng)然,如果文件不存在或者不可讀,您可以期望一個(gè)負(fù)返回值。這將使這個(gè)檢查可以檢查所有可能遇到的問(wèn)題。此外,如果打開(kāi)失敗,可以退出程序或讓程序顯示錯(cuò)誤消息。
    如 fopen 函數(shù)一樣,file_get_contents、file 和 readfile 函數(shù)都在打開(kāi)失敗或處理文件失敗時(shí)返回 False。fgets、fgetss、fread、fscanf 和 fclose 函數(shù)在出錯(cuò)時(shí)也返回 False。當(dāng)然,除 fclose 以外,您可能已經(jīng)對(duì)這些函數(shù)的返回值都進(jìn)行了處理。使用 fclose 時(shí),即使文件處理未正常關(guān)閉,也不會(huì)執(zhí)行什么操作,因此通常不必檢查 fclose 的返回值。
    回頁(yè)首
    由您來(lái)選擇
    PHP 不缺讀取和解析文件的有效方法。諸如 fread 之類(lèi)的典型函數(shù)可能在大多數(shù)時(shí)候都是最佳的選擇,或者當(dāng) readfile 剛好能滿足任務(wù)需要時(shí),您可能會(huì)發(fā)現(xiàn)自己更為 readfile 的簡(jiǎn)單所吸引。它實(shí)際上取決于所要完成的操作。
    如果要處理大量數(shù)據(jù),fscanf 將能證明自己的價(jià)值并比使用 file 附帶 split 和 sprintf 命令更有效率。相反,如果要回顯只做了少許修改的大量文本,則使用 file、file_get_contents 或 readfile 可能更合適。使用 PHP 進(jìn)行緩存或者創(chuàng)建權(quán)宜的代理服務(wù)器時(shí)可能就屬于這種情況。
    PHP 給您提供了大量處理文件的工具。深入了解這些工具并了解哪些工具最適合于要處理的項(xiàng)目。您已擁有很多的選擇,因此好好地利用它們享受使用 PHP 處理文件的樂(lè)趣。

    PHP編程

    鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

  • 發(fā)表評(píng)論 共有條評(píng)論
    用戶名: 密碼:
    驗(yàn)證碼: 匿名發(fā)表
    国产精品白丝jk黑袜喷水| 深夜福利视频一区| 欧美视频免费播放| 蜜臀精品一区二区三区在线观看| 精品国内自产拍在线观看| 日韩av大片| 国产成人av免费| 麻豆传媒一区| 一级黄色免费| 日韩大胆人体| 日韩欧美中文字幕制服| 麻豆tv在线观看| 日韩精品福利网站| 亚洲欧美自拍偷拍| 国产人久久人人人人爽| av小次郎收藏| 综合电影一区二区三区| 天堂电影院在线| 国产一区自拍视频| 欧美一级黄色影院| 日韩美女久久久| 手机看片福利永久| 欧美怡红院视频| 欧美精品入口| 天天干天天舔| 91精品视频网站| 国产日韩欧美精品一区二区三区| 成人免费在线视频网站| 色香色香欲天天天影视综合网| 亚洲国产97在线精品一区| 欧美激情四色| 亚洲第一国产精品| 亚洲三级在线看| 日韩电影在线观看网站| 91精品一区二区三区蜜桃| 日韩电影免费看| 欧美成a人免费观看久久| 欧美日韩综合在线免费观看| 国产免费永久在线观看| 欧美xxxx老人做受| 日韩av中文字幕在线播放| 麻豆成人久久精品二区三区红| 免费中文字幕av| 黄色小说在线观看视频| 亚洲视频免费一区| 国产亚洲精品久久久久动| 国产精品视频一区二区三区四区五区| 国产成人免费视频网站高清观看视频| 精品亚洲免费视频| 狠狠色丁香久久综合频道| 欧美在线影院在线视频| 成人在线国产精品| 日韩电影在线免费| a级影片在线| 免费成人性网站| 欧美日韩国产欧美日美国产精品| 哺乳挤奶一区二区三区免费看| 高清一区二区三区四区| eeuss影院第1页在线| 国产成人无码专区| 777米奇影视第四色| 日本久久高清视频| 国产亚洲一级高清| 秋霞国产精品| 国模精品视频一区二区三区| 国产日韩欧美视频在线观看| 日韩精品第二页| 久久久久久黄色| 免费国产麻豆传| 国产福利一区二区三区| 欧美性xxxxxx少妇| 亚洲国产精品va在线看黑人| 交100部在线观看| 欧美freesex8一10精品| 国产精品丝袜久久久久久app| 欧美理论片在线观看| igao视频网在线视频| 人成网站在线观看| 橘梨纱av一区二区三区在线观看| 天天摸天天碰天天爽天天弄| 很黄很色网站| 69堂免费精品视频在线播放| 天天操天天摸天天爽| 午夜免费久久看| 在线播放www| 亚洲资源在线网| 国产黄视频在线| 国产精品美女久久福利网站| 国产亚洲依依| 99热在线国产| 成年人黄色网址| 精品美女www爽爽爽视频| 91视频免费在线观看| 91亚洲一线产区二线产区| 日韩精品亚洲专区在线观看| 国产精品黄色网| 欧美激情欧美激情在线五月| 日韩视频在线你懂得| 国产女人伦码一区二区三区不卡| 538国产精品一区二区免费视频| 日本激情视频在线| 一区二区精品视频| 日本dhxxxxxdh14日本| 黄色一区二区三区| 国产精品久久国产精麻豆99网站| 8av国产精品爽爽ⅴa在线观看| 午夜视频国产| 亚洲国产精品va在线观看黑人| 一级在线观看视频| 欧美久久久精品| 日本xxxx高清色视频| 国产网站欧美日韩免费精品在线观看| 日韩激情网站| 好吊色一区二区三区| 国产午夜亚洲精品理论片色戒| 麻豆91精品视频| 香蕉国产成人午夜av影院| 青草在线视频| 亚洲高清一区二| 少妇高潮一区二区三区99小说| 免费av一级电影| 欧美在线免费观看亚洲| 粉嫩av一区二区| 欧美动物xxx| 欧美激情在线精品一区二区三区| 污污在线观看| 国产免费一区二区三区最新6| 99亚洲伊人久久精品影院红桃| 日韩精品无码一区二区三区免费| 欧美成人精品3d动漫h| 福利片在线播放| 禁网站在线观看免费视频| 制服丝袜成人动漫| av一区二区三区黑人| 性国裸体高清亚洲| 视频一区二区三区四区五区| 国产不卡精品视男人的天堂| 久久国产精品99久久久久久丝袜| 日韩三级电影视频| 亚洲综合一区二区| 91精品在线观看国产| 久久69国产一区二区蜜臀| 久久国产精品精品国产色婷婷| 真不卡电影网| 亚洲综合在线中文字幕| 国产精品久久免费视频| 国产成人亚洲欧美| 日本1区2区3区视频| av一区二区在线播放| 欧美在线精品一区| 师生出轨h灌满了1v1| 法国伦理少妇愉情| 精品欧美日韩在线| 亚洲成在人线在线播放| 久久综合狠狠综合久久激情| 一级全黄肉体裸体全过程| 国产三级小视频| 一区二区三区四区乱视频| 91狠狠综合久久久| 成人午夜精品一区二区三区| 欧美成年人在线观看| 久久激情网站| 亚洲国产精品一区制服丝袜| av三级在线观看| 亚洲人成在线播放| 久久99久久精品| 免费a级人成a大片在线观看| 久久国产精品影视| 国产不卡视频在线观看| 青青草原国产视频| 国产一区二区黑人欧美xxxx| 尤物九九久久国产精品的分类| 日本一区二区免费高清视频| 午夜av电影一区| 50路60路老熟妇啪啪| 岛国片免费看| 久久影视一区| 庆余年2免费日韩剧观看大牛| 新91视频在线观看| 久久久久久一区二区三区四区别墅| 欧美视频免费看欧美视频| 激情五月婷婷六月| 91情侣偷在线精品国产| 日本不卡一区二区三区视频| 一区二区三区在线视频免费| 成人黄色理论片| 亚洲乱码中文字幕| 欧洲亚洲精品视频| 久久久成人免费视频| 中文一区一区三区高中清不卡| 国产黄色一区二区| 天天干天天爽天天操| 亚洲欧美综合7777色婷婷| 精品嫩模一区二区三区| 青青草在线视频免费观看| aa日韩免费精品视频一| 国产福利一区二区三区视频| 国内久久精品视频| av毛片午夜不卡高**水| 免费在线看a| 亚洲综合激情六月婷婷在线观看| 牛夜精品久久久久久久99黑人| 亚洲日产国产精品| 一级黄在线观看| 国产精品久久无码一三区| 午夜视频网站在线观看| 国产欧美亚洲精品a| 野花社区视频在线观看| 欧美残忍xxxx极端| 国产老女人乱淫免费| 日本a口亚洲| 亚洲天堂五月天| 亚洲一区二区三区乱码aⅴ蜜桃女| 肉色欧美久久久久久久免费看| 亚州av中文字幕在线免费观看| 色综合亚洲图丝熟| 欧美日韩一区在线视频| 亚洲18女电影在线观看| 91亚洲视频在线观看| 精品伊人久久| 九九免费精品视频在线观看| 午夜一级在线看亚洲| 成人ar影院免费观看视频| 中文字幕第8页| 国产精品视频一二三| 国产成人精品999在线观看| 亚洲中国最大av网站| 中文 日韩 欧美| 精品街拍一区二区| 大量国产精品视频| 日韩欧美一起| 国产日韩欧美精品在线观看| 久久99精品网久久| 黄网页免费在线观看| 热99re久久精品精品免费| 麻豆免费视频网站入口| 欧美性猛交久久久乱大交小说| 国产精品久久久久久久久免费| 欧美黄色一级大片| 亚洲第一成年网| av一区二区高清| 亚洲色诱最新| 日本在线中文字幕一区二区三区| 精品久久av| 久久久久久久久久久福利| 91在线视频免费看| 粉嫩aⅴ一区二区三区四区| 美女网站色精品尤物极品姐弟| 亚洲色图五月天| 久久精品视频9| 中国视频免男男gay| 中文乱码字幕高清一区二区| av官网在线播放| 不卡视频在线| 免费在线观看黄| 综合欧美亚洲| 久久精品久久久久电影| 欧美日免费三级在线| 九色porn蝌蚪| 永久免费看mv网站入口亚洲| 免费成人黄色网| 性高湖久久久久久久久aaaaa| 乱一区二区av| 亚洲午夜免费福利视频| 日韩av电影网址| 国产亚洲精品激情久久| 99久久精品无免国产免费| 久久人人爽亚洲精品天堂| 国产精品bbw一区二区三区| 在线观看免费黄网站| 亚洲最大成人综合| 777777777亚洲妇女| 成av人免费青青久| 国产精品久久97| 中文xxx视频| 日韩精品视频免费看| 国产精品1234区| 国产一起色一起爱| 国产巨乳在线观看| 久久久久9999| 隔壁人妻偷人bd中字| 亚洲最大成人综合网| 精品国产一区二区三区香蕉沈先生| 国产在线精品91| 怡红院在线播放| 精品一区二区三区三区| 久久露脸国语精品国产91| 少妇精品无码一区二区三区| 91丨九色丨蝌蚪丨老版| 97人妻天天摸天天爽天天| 亚洲www啪成人一区二区麻豆| 欧美日韩中文字幕一区| 鲁大师成人一区二区三区| 亚洲婷婷伊人| 999久久久| av成人天堂| 中文在线天堂网www| 青草国产精品久久久久久| 精品国产一区二区三区噜噜噜| 狠狠做深爱婷婷久久综合一区| 国产亚洲欧美日韩在线一区| 色妇色综合久久夜夜| 这里只有精品视频在线观看| 在线免费观看黄色小视频| 日韩亚洲欧美在线观看| 各处沟厕大尺度偷拍女厕嘘嘘| 亚洲色图一区二区| 欧美午夜性春猛xxxx| 男人的天堂视频网站| 激情av网站| 无码av天堂一区二区三区| 韩国国内大量揄拍精品视频| freexxxx性特大另类| 日本精品在线中文字幕| 精品久久香蕉国产线看观看亚洲| 久久青青草原亚洲av无码麻豆| 国产人妻777人伦精品hd| av网站大全在线| 国产欧美一区二区精品秋霞影院| 亚洲国产高清福利视频| 免费黄色网页| 欧美日韩免费观看一区二区三区| 国产日韩av在线播放| 久久久久女教师免费一区| 亚洲国产精品一区二区久久恐怖片| 欧美午夜三级| 成人毛片老司机大片| 三级久久三级久久|