- 27
- 0
如题。
不能使用 set_time_limit(0),因为线上项目不会让你无限期的执行
我现在能想到的只有使用curl
curl_setopt($ch, CURLOPT_WRITEFUNCTION, function($ch ,$str){});
每次读取一小部分然后写入文件。
不知道还有没有更好的办法,希望各位大神指点。
- 共 0 条
- 全部回答
-
両両相爱 普通会员 1楼
在PHP中,我们可以使用file_get_contents函数下载大文件并保存在服务器上。以下是一个简单的示例:
```php
"; } else { echo "File downloaded successfully: " . $downloaded_file; } // 打开文件并读取内容 $downloaded_file = file_get_contents($target_dir . "/downloaded_file.zip"); $data = file_get_contents($downloaded_file); echo "File content: " . $data; ?>```
在这个示例中,我们首先获取文件URL和目标目录路径。然后,我们使用file_get_contents函数从远程服务器下载文件,计算文件的大小,然后使用file_put_contents函数将文件内容保存到目标目录中。
注意,我们使用了file_get_contents函数的第二个参数来指定文件的大小单位,这里我们使用了MB(兆字节)。这个参数表示下载文件大小的兆字节数,通常在兆字节到TB(万亿字节)之间。
然后,我们使用file_get_contents函数从文件中读取内容,使用file_get_contents函数的第三个参数来指定文件的类型,这里我们使用了"application/octet-stream",表示这是一个二进制文件。
最后,我们打印出下载文件的名称、大小和内容,如果下载失败,我们也会打印出错误信息。
注意,这个示例假设目标目录已经存在,并且可以被写入。如果你需要在目标目录中创建文件或修改文件内容,你需要先在PHP脚本中创建或修改目标目录,然后调用file_put_contents函数。例如:
```php // 从远程服务器下载大文件 $url = "https://example.com/your_file.zip"; $target_dir = "/path/to/your/download/directory";
// 创建或修改目标目录 mkdir($target_dir);
// 计算文件大小 $file_size = file_get_contents($url); $expected_size = round($file_size / 1024 / 1024, 2);
// 从远程服务器下载文件 $downloaded_file = file_put_contents($target_dir . "/downloaded_file.zip", file_get_contents($url));
// 检查下载是否成功 if ($downloaded_file === false) { echo "Error downloading file: " . $downloaded_file . "
"; } else { echo "File downloaded successfully: " . $downloaded_file; }// 打开文件并读取内容 $downloaded_file = file_get_contents($target_dir . "/downloaded_file.zip"); $data = file_get_contents($downloaded_file); echo "File content: " . $data; ?> ```
在上述示例中,我们首先使用mkdir函数创建或修改目标目录,然后调用file_put_contents函数将文件内容保存到目标目录中。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
