2017-01-30 8 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 = "многослойную/form-данные"' набор атрибутов. 2: проверьте принадлежность к каталогу и разрешения (do ** not ** 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); 
} 
Смежные вопросы