Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.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将mp3文件上载到服务器_Php_File Upload - Fatal编程技术网

使用php将mp3文件上载到服务器

使用php将mp3文件上载到服务器,php,file-upload,Php,File Upload,我正在尝试使用php代码将mp3文件上传到服务器,如图所示 $audio=basename($_FILES['file']['name']); $audio=str_replace(' ','|',$audio); $tmppath1="audios/".$audio; move_uploaded_file($_FILES['file']['tmp_name'],$tmppath1); $query="INSERT INTO `appinstaller`.`tbl_audio` (`audion

我正在尝试使用php代码将mp3文件上传到服务器,如图所示

$audio=basename($_FILES['file']['name']);
$audio=str_replace(' ','|',$audio);
$tmppath1="audios/".$audio;
move_uploaded_file($_FILES['file']['tmp_name'],$tmppath1);
$query="INSERT INTO `appinstaller`.`tbl_audio` (`audioname`) VALUES ('$audio')";
$res=mysql_query($query);
在此文件中,已成功上载,但上载到服务器需要更多时间


有什么方法可以更快地上传MP3文件吗?

可能没有-您所展示的内容没有显示任何明显的瓶颈。可能只是客户端连接占用了这么长时间


不过,您需要修复的是
$audio
中的SQL注入。请参见

文件越大,所需时间越长。你可以使用一个脚本,比如给你一个上传百分比,这样看起来浏览器就不会挂起,但是上传文件时有一些安全考虑,使用你的脚本,有人可以上传任何东西,甚至是PHP,也不允许直接访问文件或允许PHP解析文件


您还应该使用准备好的查询,因为
mysql.*
函数正在弃用过程中

上传速度通常较慢是由于TCP窗口有限(在任何给定时间两个网络位置之间传输的最大数据包数)。此值通常由低级操作系统驱动程序确定,超出您的控制范围

通过并行数据传输可以实现更快的上传速度;一个文件被分成两部分,并并行传输。您需要确定同时上传两组数据是否会实际减少传输时间

现代浏览器公开JavaScript接口,以二进制流的形式访问本地文件;有些将允许您(高效地)将文件的片段读取到内存中,并通过AJAX传输这些片段。这也被称为组块

在服务器端,您还需要进行更改以支持分块。在并行上载期间使用会话将导致锁定;这可能是问题,也可能不是问题,取决于您的要求


希望这能让您了解如何“加快上传速度”:)

有多慢?一个文件有多大需要多少秒?3MB文件的上传需要将近6分钟。压缩或转换音频文件对我有帮助吗?当你将文件上传到其他地方时,文件需要这么长时间是正常的吗?如果是,那你就无能为力了。MP3通常已经被压缩了很多,我认为互联网的速度也是一个问题。