我有一個網站acoounts。我希望每個用戶都能上傳頭像。當我嘗試運行代碼時,出現以下錯誤: 解析錯誤:語法錯誤,/ var/www/html/upload_image中意外的''(T_ENCAPSED_AND_WHITESPACE),期待標識符(T_STRING)或變量(T_VARIABLE)或編號(T_NUM_STRING) .php on line 26使用PHP在mysql數據庫上傳圖像
如果有人可以告訴我我錯在哪裏,我會對此進行補充。謝謝。
<?php
session_start();
$connect = mysqli_connect("localhost", "stringdot", "Ninja123") or die(mysqli_error()) ;
$db = mysqli_select_db($connect, "ddbase") or die(mysqli_error($connect));
if(isset($_FILES['image'])){
$error= array();
$marime_fisier =$_FILES['image']['size'];
$extensia= $_FILES['image']['type'];
$f = explode('.',$_FILES['image']['name']);
$file_extension=strtolower(end($f));
$extensions= array("jpeg","jpg","png");
if(in_array($file_extension,$extensions)=== false){
$error[]="Please upload a file with extension JGEG or PNG.";
}
if($marime_fisier > 2097152){
$error[]='File size cannot exceed 2 MB';
}
$image = addslashes(file_get_contents($_FILES['image']['tmp_name']));
if(empty($error)==true){
$sql = " UPDATE users SET avatar = '{$image}' WHERE username = $_SESSION['login_username'] ";
$result = mysqli_query($connect,$sql) or die ("Error : ". mysqli_error($connect));
$rows = mysqli_num_rows($result);
if ($rows==1) {
echo "Success";}
else {
echo "Something went wrong!";;
}
}else
{
echo $error;
}
}
?>
HTML代碼:
<form class = "file_upload_form" action="upload_image.php" method="POST" enctype="multipart/form-data">
<label>File: </label><input type="file" name="image" /></br>
<input type="submit" />
</form>
我認爲最好使用mysqli_real_escape_string()而不是add_slashes()。你也可能會遇到 mysql服務器配置的問題:最大數據包大小。同時爲表的列選擇足夠大的blob數據類型。 –