我的網站允許用戶將聲音文件上傳到服務器。一個目錄(如用戶名)在用戶註冊時創建。使用會話變量在PHP中創建目錄
mkdir("speaking/uploads/".$myusername,0777);
當用戶想要登錄:
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];
$_SESSION['myusername'] = $myusername;
$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and pass='$mypassword'";
$result=mysql_query($sql);
$count=mysql_num_rows($result);
if($count==1){
header("location:index.php");
}
else {
echo "Wrong Username or Password";
}
我要上傳的文件去他的文件夾,但這些文件轉移到上傳目錄。
<?php
$uploads_dir = './uploads/'.$_SESSION['myusername'];
if($_FILES['Filedata']['error'] == 0){
if(move_uploaded_file($_FILES['Filedata']['tmp_name'], $uploads_dir.$_FILES['Filedata']['name'])){
echo 'ok';
exit();
}
}
echo 'error';
exit();
?>
請問該怎麼辦? 有沒有更好的和安全的想法做到這一點?
永遠不要將從用戶收到的數據放入數據庫unsanitized。至少這樣做:$ myusername = mysql_real_escape_string($ _ POST ['myusername']); – Jaroslav
或者使用mysqli或PDO考慮mysql是**棄用**。 – MisterBla
謝謝,我有這個,但總結的代碼不寫在這裏。 – Amir