正在下载文件,更改扩展名并合并为1个文件



尝试通过URL下载文件,将.ADM扩展名重命名为.txt然后将每个文件的内容放入一个txt文件中然而,据说fputs param 2是一种资源$logfile['name']是存储在数组中的文件名

这是我的代码

foreach($items as $logfile)
{
$getfile = $logfile['Download'];
$newfile = file_put_contents(str_replace('ADM','txt',$logfile['name']), 
file_get_contents($getfile));
$name = str_replace('ADM','txt',$logfile['name']);
$newfile = $name;
$file = fopen($newfile, 'rb');
$output = fopen('tmp/test.txt', 'wb');
fputs($output, $file);
fclose($output);
fclose($file);
}

它下载每个和重命名然而它不移动内容&给我这个错误

Warning: fputs() expects parameter 2 to be string, resource given in 

fputs的第二个参数是文件的内容。不是文件资源。

代替

$file = fopen($newfile, 'rb');

您需要获取文件的内容

$content = file_get_contents($newfile);

或者,如果你喜欢使用fopen,你可以使用fread:

$file = fopen($newfile, 'rb');
$content = fread($fp, filesize($newfile));

然后你可以将这些内容放入另一个文件:

fputs($output, $content);

最新更新