PHPファイルアップロードおよびファイル操作
8905 ワード
まず、データベースに接続し、入力するファイル情報をデータベースに入力します.
次に、転送ファイルの判断を行います.
ユーザーがMP 3形式のファイルを転送する必要があります
次に、転送されたファイルを操作します.
最後に、ファイルを指定したパスに移動し、レコードをデータベースに書き込みます.
$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();