Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在基于PHP的视频转换器中处理大文件?_Php_Jquery_File Upload - Fatal编程技术网

如何在基于PHP的视频转换器中处理大文件?

如何在基于PHP的视频转换器中处理大文件?,php,jquery,file-upload,Php,Jquery,File Upload,我有一个视频转换器。下面是它的工作原理,你给视频的URL,它下载到服务器,然后它把它转换成mp3。所以它是可行的,但问题是任何超过10 MB(仅约30秒)的数据都会使服务器崩溃。我需要知道如何上传它的一部分,所以它不会崩溃的服务器 file\u put\u contents($dest,file\u get\u contents($url))最好的方法是分块下载内容。在答案中可以找到这样做的好方法。在$callback函数参数中,您可以传递一个方法来转换和写入正在读取的字节 file_get_c

我有一个视频转换器。下面是它的工作原理,你给视频的URL,它下载到服务器,然后它把它转换成mp3。所以它是可行的,但问题是任何超过10 MB(仅约30秒)的数据都会使服务器崩溃。我需要知道如何上传它的一部分,所以它不会崩溃的服务器


file\u put\u contents($dest,file\u get\u contents($url))

最好的方法是分块下载内容。在答案中可以找到这样做的好方法。在
$callback
函数参数中,您可以传递一个方法来转换和写入正在读取的字节

file_get_contents_chunked($url, 4096, function($chunk, &$handle, $iteration) {
    file_put_contents($dest, $chunk, FILE_APPEND);
});

这可能会失败的原因有很多。错误日志显示了什么?我正在构建它的服务器是一个免费服务器。所以,没有错误日志…移动到一个真正的托管服务。试图在免费主机服务上构建任何严肃的东西都会带来痛苦。@Jordan使用
$callback
函数;我在回答中也注意到了。我该如何保存文件的一部分?对不起,我只使用PHP大约一年了。对不起,我没有记忆。@Vulcan
内存限制默认为128M。您可能是指答案中添加的@Jordan
upload\u max\u filesize
post\u max\u size
。而且,我使用PHP还不到半年;这个答案我大部分时间都在用谷歌——你应该找个时间试试:)