2017-01-30 53 views
0

我试图上传和重命名的图像文件的PHP,但他没有将文件移动到我想要的文件夹中。有人可以告诉我什么是错的码?我如何上传文件到一个特定的文件夹使用php

 $filename = $_POST["avatar"]; 
    $expl = explode('.', $filename); 
    $file_basename = $user; // give new name 
    $file_ext = $expl[1]; // get file extention 
    $filesize = $_FILES["avatar"]["size"]; 
    $allowed_file_types = array('gif', 'jpg', 'pjpg', 'png'); 
    $target_dir = "images/avatars/"; 
    $newfilename = $file_basename . '.' . $file_ext; 
    $target_file = $target_dir . $newfilename; 

    if (in_array($file_ext, $allowed_file_types) && ($filesize < 2000000000)) { 
     if (file_exists($target_dir . $newfilename)) { 
      echo "You have already uploaded this file."; 
     } else { 
      move_uploaded_file($_FILES['avatar']['tmp_name'], $target_dir); 
      if (!move_uploaded_file($_FILES['avatar']['tmp_name'], $target_file)) { 
       echo "There was an error uploading the file, please try again!"; 
      } else { 
       $avaq = "UPDATE portfoliotext SET avatar = '$newfilename'"; 
       $resava = mysqli_query($conn, $avaq); 
       echo "File uploaded successfully."; 
      } 
     } 
    } elseif ($filesize > 2000000000) { 
     echo "The file you are trying to upload is too large."; 
    } else { 
     echo "Only these file typs are allowed for upload: " . implode(', ', $allowed_file_types); 
    } 
} else { 
    echo "Invalid file"; 
} 
+1

1:检查你已经得到了'ENCTYPE = “的multipart/form-data的”'属性设置。 2:检查目录的所有权和权限(做**不** 777)2:验证文件扩展名几乎是毫无意义的,你的脚本会拒绝像* my.lovely.horse.jpg * – CD001

+0

这样的图像也许这样做^^ – scoopzilla

回答

0

我收到了一些额外的右括号和额外的else条款的错误。

也许试试这个:

$filename = $_POST["avatar"]; 
$expl = explode('.', $filename); 
$file_basename = $user; // give new name 
$file_ext = $expl[1]; // get file extention 
$filesize = $_FILES["avatar"]["size"]; 
$allowed_file_types = array('gif', 'jpg', 'pjpg', 'png'); 
$target_dir = "images/avatars/"; 
$newfilename = $file_basename . '.' . $file_ext; 
$target_file = $target_dir . $newfilename; 

if (in_array($file_ext, $allowed_file_types) && ($filesize < 2000000000)) { 
    if (file_exists($target_dir . $newfilename)) { 
     echo "You have already uploaded this file."; 
    } else { 
     move_uploaded_file($_FILES['avatar']['tmp_name'], $target_dir); 
     if (!move_uploaded_file($_FILES['avatar']['tmp_name'], $target_file)) { 
      echo "There was an error uploading the file, please try again!"; 
     } else { 
      $avaq = "UPDATE portfoliotext SET avatar = '$newfilename'"; 
      $resava = mysqli_query($conn, $avaq); 
      echo "File uploaded successfully."; 
     } 
    } 
} elseif ($filesize > 2000000000) { 
    echo "The file you are trying to upload is too large."; 
} else { 
    echo "Only these file typs are allowed for upload: " . implode(', ', $allowed_file_types); 
} 
相关问题