因此,我尝试使用 fopen 从我的服务器调用一个文件,该文件每天都会自动下载,每次都具有相同的部分标题,但只想获取今天的文件。例如,如果文件是 file20160310.csv 我可以用$file = fopen('file'. $today . '.csv', 'r') or die('cant open file');where获取它$today = date("m-d-y");
(但文件名是 file20160310875647.csv 并且日期后面的数字是随机的)有没有办法在我执行 fopen 时从标题中去掉这些数字( i无法更改已锁定的文件)
解决方案
解决方案 - 所以下面的两个答案都有效,但我使用了 T0xicCode 的答案来包含 .$today。在答案和鸡蛋答案中寻求 fgetcsv 的帮助
$list = glob('ShipToUsShipments'.$today .'*.csv');
$文件名=$列表[0];
$file = fopen($filename, 'r') 或 die('无法打开文件');
fetcsv($文件,1000,",");
($line = fgetcsv(fopen($file))) { echo $line[0]; }
尝试使用glob()返回与格式匹配的文件列表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');
Run Code Online (Sandbox Code Playgroud)
如果每天有多个文件,那么您可以:
$list = glob('file20160310*.csv');
foreach ($list AS $file) {
fopen($file, 'r') or die('cant open file');
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
661 次 |
| 最近记录: |