2015-07-11 57 views
0

我的代碼讀取本地文件,然後搜索單詞,然後返回行,然後在行之前添加一些單詞。php讀取文件並重定向時,文件不存在

我的文件是

#EXTM3U 
#EXT-X-VERSION:3 
#EXT-X-TARGETDURATION:10 
#EXT-X-MEDIA-SEQUENCE:55 
#EXTINF:9.999022, 
test55.ts 
#EXTINF:9.999033, 
test56.ts 
#EXTINF:9.099122, 
test57.ts 
#EXTINF:9.999033, 
test58.ts 
#EXTINF:9.999033, 
test59.ts 
#EXTINF:9.999033, 
test60.ts 

我用這個代碼做什麼,我想從我的代碼

$server_name = $_SERVER['SERVER_NAME']; 
$file = "/var/www/files/test.m3u8"; 
$character = '.ts'; 
$tslines = file($file); 
foreach ($tslines as $tslines_num => $tsline) { 
//echo $line_num; echo $line; 
$charPos = strpos($tsline, $character); 
if ($charPos !== false) { 
$newtsline1 = $tsline; 
$newtsline2 = "http://$server_name/$newtsline1"; 
echo $newtsline2; 
} else { 
echo $tsline; 
} 
} 

結果是正確的

#EXTM3U 
#EXT-X-VERSION:3 
#EXT-X-TARGETDURATION:11 
#EXT-X-MEDIA-SEQUENCE:356 
#EXTINF:9.999044, 
http://localhost/test356.ts 
#EXTINF:9.999111, 
http://localhost/test357.ts 
#EXTINF:9.998967, 
http://localhost/test358.ts 
#EXTINF:9.999044, 
http://localhost/test359.ts 
#EXTINF:10.099033, 
http://localhost/test360.ts 
#EXTINF:9.999033, 
http://localhost/test361.ts 

的問題,當我開始使用我的觀看視頻的代碼,我從apache得到錯誤 文件不存在:/var/www/html/test356.ts

我的網絡路徑是: 的/ var/www/html等 TS和M3U8文件的路徑爲: 在/ var/WWW /文件

如何讓Apache使用此路徑來讀取TS文件?

+0

你確定你發佈的代碼是運行一樣嗎?您正在打開的文件路徑是硬編碼的,應該以任何方式嘗試打開/var/www/files/test.m3u8而不是/var/www/html/test356.ts。另外,您確定您正在嘗試閱讀的文件不是符號鏈接嗎?在你的linux/unix控制檯中試試ls -l – alariva

回答

0

嘗試改變,

$file = "/var/www/files/test.m3u8"; 

$file = dirname(__FILE__)."files/test.m3u8";