Скрипт загрузки файла не работает с переменными

У меня есть загрузчик PDF, который должен сохранить файл в путь к файлу, который основан на переменной имени пользователя, выбранной из выпадающего меню.

Все работает, кроме загрузчика, так как он отображает имена пользователей и каталоги создаются при регистрации. Так что с этим проблем нет. Моя проблема заключается в коде ниже с загрузчиком:

<form action="" method="post" enctype="multipart/form-data">
    <input type="file" name="pdf" /><br />
    <select name="folder"> 

<?php
$con=mysqli_connect("host","user","pass","dbname");

// Check connection
if (mysqli_connect_errno()) {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$result = mysqli_query($con,"SELECT `first_name`, `last_name`, `username` FROM `cw_users` WHERE 1");
$user = 'username';

while($row = mysqli_fetch_array($result)) {
  echo "<option value='". $row["username"] ."'>";
  echo " $row[username] "; 
  echo "</option>";
}

mysqli_close($con);
?>

<?php
if (isset($_POST['submit'])) {
  $pdfDirectory = "Users/".$_POST['folder']."/uploaded/";

  //get the name of the file
  $filename = basename( $_FILES['pdf']['name'], ".pdf");

  //remove all characters from the file name other than letters, numbers, hyphens and        underscores
  $filename = preg_replace("/[^A-Za-z0-9_-]/", "", $filename).".pdf";

  if (move_uploaded_file($_FILES['pdf']['tmp_name'], $pdfDirectory.$filename)) {
    //the path to the PDF file
    $pdfWithPath = $pdfDirectory.$filename;
  }
}

?>

    </select>
    <input type="submit" value="Upload pdf" name="upload_pdf" />
</form>

PS, если это можно настроить для загрузки нескольких файлов одновременно, это было бы здорово.

1 ответ

Решение

Ваше условное заявление if(isset($_POST['submit'])) ищет кнопку отправки с именем "submit", а ваша - "upload_pdf".

<input type="submit" value="Upload pdf" name="upload_pdf" />
                                        ^^^^^^^^^^^^^^^^^

Это должно читаться как if(isset($_POST['upload_pdf'])) или переименуйте кнопку отправки в:

<input type="submit" value="Upload pdf" name="submit" />
Другие вопросы по тегам