fopen 一个只有部分标题的文件 php
fopen a file with only part of title in php
所以我正在尝试使用 fopen 从我的服务器调用一个文件,该文件每天自动下载,每次都具有相同的部分标题,但只想获取今天的文件。例如,如果文件是 file20160310.csv 我可以用 $file = fopen('file'. $today . '.csv', 'r') or die('cant open file');
得到它,其中 $today = date("m-d-y");
(但文件名是 file20160310875647.csv 并且日期之后的数字是随机的)当我打开时,有没有办法从标题中删除这些数字(我无法更改它是锁定的文件)
解决方案
解决方案——所以下面的两个答案都有效,但我使用了 T0xicCode 的答案来包含 .$today。在答案和鸡蛋答案中获得 fgetcsv
的帮助
$list = glob('ShipToUsShipments'. $today . '*.csv');
$filename = $list[0];
$file = fopen($filename, 'r') or die('cant open file');
fetcsv($file,1000,",");
($line = fgetcsv(fopen($file))) { echo $line[0]; }
尝试使用 glob() 来 return 匹配 fileYYYYMMDD*
格式的文件列表:
$list = glob('file20160310*.csv');
$file = $list[0] // Assuming there'll only be one match for each day.
$file = fopen($file, 'r') or die('cant open file');
如果每天有多个文件,那么您可以:
$list = glob('file20160310*.csv');
foreach ($list AS $file) {
fopen($file, 'r') or die('cant open file');
}
fopen
需要文件的确切名称。您将需要找到文件的确切名称。您将能够使用 glob
找出文件的完整名称:
$list = glob('file' . $today . '*.csv');
$filename = $list[0];
$file = fopen($filename, 'r') or die('cant open file');
glob
returns 一个数组,因此您必须对其进行索引。如果多个文件与给定的模式相匹配,您必须确定使用哪一个。
所以我正在尝试使用 fopen 从我的服务器调用一个文件,该文件每天自动下载,每次都具有相同的部分标题,但只想获取今天的文件。例如,如果文件是 file20160310.csv 我可以用 $file = fopen('file'. $today . '.csv', 'r') or die('cant open file');
得到它,其中 $today = date("m-d-y");
(但文件名是 file20160310875647.csv 并且日期之后的数字是随机的)当我打开时,有没有办法从标题中删除这些数字(我无法更改它是锁定的文件)
解决方案
解决方案——所以下面的两个答案都有效,但我使用了 T0xicCode 的答案来包含 .$today。在答案和鸡蛋答案中获得 fgetcsv
的帮助$list = glob('ShipToUsShipments'. $today . '*.csv');
$filename = $list[0];
$file = fopen($filename, 'r') or die('cant open file');
fetcsv($file,1000,",");
($line = fgetcsv(fopen($file))) { echo $line[0]; }
尝试使用 glob() 来 return 匹配 fileYYYYMMDD*
格式的文件列表:
$list = glob('file20160310*.csv');
$file = $list[0] // Assuming there'll only be one match for each day.
$file = fopen($file, 'r') or die('cant open file');
如果每天有多个文件,那么您可以:
$list = glob('file20160310*.csv');
foreach ($list AS $file) {
fopen($file, 'r') or die('cant open file');
}
fopen
需要文件的确切名称。您将需要找到文件的确切名称。您将能够使用 glob
找出文件的完整名称:
$list = glob('file' . $today . '*.csv');
$filename = $list[0];
$file = fopen($filename, 'r') or die('cant open file');
glob
returns 一个数组,因此您必须对其进行索引。如果多个文件与给定的模式相匹配,您必须确定使用哪一个。