Php fwrite-创建文本文件,但将扩展名设置为';unl&x27;

Php fwrite-创建文本文件,但将扩展名设置为';unl&x27;,php,fwrite,Php,Fwrite,我需要生成一个unl文件,用于警察报告酒店内的外国客人。我已经研究了fwrite,但我不确定这是否允许设置自定义扩展。我需要文件名为$name。下面是文件结构、utf8和用于分割数据的管道 A|2|200500121222|VODPO|Hotel Pošta|Jan Sibelius, tel: 261 197 135|Strakonice|Vodňany|Vodňany I|Alešova|26||38901|2005.09.16 14:31:26|| U|01.10.2015|01.10.2

我需要生成一个unl文件,用于警察报告酒店内的外国客人。我已经研究了
fwrite
,但我不确定这是否允许设置自定义扩展。我需要文件名为
$name
。下面是文件结构、utf8和用于分割数据的管道

A|2|200500121222|VODPO|Hotel Pošta|Jan Sibelius, tel: 261 197 135|Strakonice|Vodňany|Vodňany I|Alešova|26||38901|2005.09.16 14:31:26||
U|01.10.2015|01.10.2015|Příjmení|Jméno||01.01.2000|||STP|bydliště|DOKLAD|VISUM|00||
U|01.10.2015|02.10.2015|ABDALLA|FAZUL||25.02.1974|||XXX|Kábul|321654|999|01||
U|01.10.2015|03.10.2015|ABDULLAH|MOHAMED||15.01.1977|||SYR|Damašek|987654|123|02||
U|01.10.2015|04.10.2015|AGOVIČ|MOHAMED||13.06.1970|||SCG|Noar|753159|321|03||
U|01.10.2015|05.10.2015|ANDĚL|JAN||01.01.1950|||BLZ|Brudé|159753|888|04||
U|01.10.2015|06.10.2015|HOHOS|KOKO||00.00.1950|||AFG|Kábul|123456|777|05||
U|01.10.2015|07.10.2015|SCHINDLER|BRUNO||00.00.2000|||DEU|Berlín|159753|666|06||

可以使用
fwrite
吗?或者我需要使用其他东西吗?

您应该能够通过以下方式使用、
fopen
fwrite
来实现这一点:

<?php
$data = 'Your data';
$file_name = $name.'.unl';
$file = fopen($file_name,"a");
echo fwrite($file,$data);
fclose($file);

fwrite将资源句柄作为第一个参数。要获得该句柄,您通常会调用fopen-第一个参数是文件名,第二个参数是模式,例如w表示write,如下所示。上列出了有效的模式

然后,您将使用以下命令获取与fwrite一起使用的句柄:

$fp=fopen($name'unl','w')


至于是否有更好的方法,您可能还想看看fputcsv()并使用

分隔符,而不是在以后使用“w”使用“a”将额外数据附加到文件中。@ErikDohmen将其更改为
a
当您
fopen()
一个文件时,PHP不在乎您给它什么扩展名,它可以是
.unl
.txt
.xls
甚至根本没有扩展名。。。。就PHP而言,它只是一个文件名,没有特殊意义