簡體   English   中英

使用php將mp3文件上傳到服務器

[英]upload mp3 file to server using php

我正在嘗試使用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注入。 請參見http://php.net/manual/en/security.database.sql-injection.php

文件越大,所需的時間越長。 您可以使用像uploadify這樣的腳本來提供上傳百分比,這樣看起來就像瀏覽器沒有掛起一樣,上傳文件時有一些安全注意事項,你的腳本有人可以上傳任何東西甚至是PHP,也不能直接訪問文件或允許文件由PHP解析..

您還應該使用准備好的查詢,因為mysql_*函數在棄用過程中。 http://news.php.net/php.internals/53799

通常較慢的上載速度是由於有限的TCP窗口(在任何給定時間,兩個網絡位置之間可以傳輸的最大數據包數)。 此值通常由低級OS驅動程序確定,並且不受控制。

通過並行數據傳輸可以實現更快的上傳速度; 一個文件被分成幾個部分,並且這些文件是並行傳輸的。 您需要確定是否同時上傳兩組數據實際上會減少傳輸時間。

現代瀏覽器公開JavaScript接口以作為二進制流訪問本地文件; 有些將允許您(有效地)將文件的片段讀入內存並通過AJAX傳輸。 這也稱為分塊。

在服務器端,您還需要進行更改以支持分塊。 在並行上傳期間使用會話將導致鎖定; 根據您的要求,這可能是也可能不是問題。

希望這能讓您了解如何“讓您的上傳速度更快”:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM