PHPファイルアップロードおよびファイル操作

8905 ワード

まず、データベースに接続し、入力するファイル情報をデータベースに入力します.


$username='root';//       
$userpass='q12we3';
$host='127.0.0.1';
$database='music';
$conn=new mysqli($host,$username,$userpass,$database);
if(!$conn){
    echo 'Could not connect to database.';
    exit;
}

?>

次に、転送ファイルの判断を行います.
if($_FILES['userfile']['error'] > 0) {//          
    echo '     : ';
    switch ($_FILES['userfile']['error']) {
        case '1': echo '

,

'
; break; case '2': echo '

,

'
; break; case '3': echo '

, ,

'
; break; case '4': echo '

,

'
; break; case '6': echo '

, ,

'
; break; case '7': echo '

, ,

'
; break; } exit; } /* mime_content_type() MIME $_FILES['userfile']['type']; */ if(mime_content_type($fileurl) != "audio/mpeg") { echo "

mp3 ~

"
; echo " : ".mime_content_type($fileurl)."

MP3 ~!

"
; exit; }

ユーザーがMP 3形式のファイルを転送する必要があります
次に、転送されたファイルを操作します.
$name = trim($_POST['name']);//html  post    
$autor = trim($_POST['autor']);
$fileurl = $_FILES['userfile']['tmp_name'];//          
$filename = $_FILES['userfile']['name'];//     
$filesize = formatBytes($_FILES['userfile']['size']);//        , B   MB

function formatBytes($size) {//        
    $units = array(' B', ' KB', ' MB', ' GB', ' TB');
    for ($i = 0; $size >= 1024 && $i < 4; $i++)
    $size /= 1024;
    return round($size, 2).$units[$i];
}

最後に、ファイルを指定したパスに移動し、レコードをデータベースに書き込みます.
$newname = $autor.'-'.$name.'.mp3';//       
$swichtype = "music/".iconv('utf-8','gbk',$newname);// UTF-8     windows   GBK      
move_uploaded_file($fileurl,$swichtype);//         

echo "      : ".$filename."

: "

.$filesize."".$newname." "; $address = "music/".$autor.'-'.$name.'.mp3';// $sql = "INSERT INTO `music` (`name`, `autor`, `address`) VALUES ('".$name."', '".$autor."', '".$address."');"; $result = $conn -> query($sql); if($result) { echo "

, ~

"
; }else { echo "

, ~, ~

"
; } $conn -> close();