Я создаю простой загрузочный портал для своего офиса. Я успешно закодировал его, чтобы передать загруженные элементы в папку с именем/uploads, однако я хотел бы добавить выпадающий список, чтобы выбрать между несколькими подпапками, чтобы люди могли лучше организовать материал, который там находится.Загрузка файла PHP - выпадающий список подкачки
Это мой HTML
<html>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file"><br>
<select name="Folder">
<option value="OurPhoto">Our Photos</option>
<option value="StockPhoto">Stock Photos</option>
<option value="Video">Videos</option>
<option value="Document">Documents</option>
<option value="Other">Other</option>
</select>
<input type="submit" name="submit" value="Submit">
</form>
</body>
</html>
И это мой PHP для upload.php
if ($_FILES["file"]["error"] > 0) {
echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
}
else {
echo "Upload: " . $_FILES["file"]["name"] . "<br>";
echo "Type: " . $_FILES["file"]["type"] . "<br>";
echo "Size: " . ($_FILES["file"]["size"]/1024) . " kB<br>";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";
if (file_exists("upload/" . $_FILES["file"]["name"])) {
echo $_FILES["file"]["name"] . " already exists. ";
}
else {
move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]);
echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
}
}
Мои подкаталоги с именем MCPhoto, Stockphoto, видео, документы и прочее. Мое знание PHP слабое, поэтому я действительно не знаю, куда идти отсюда.
ли ** НЕ ** использовать этот код. Вы открываете свой доступ к компромиссу удаленного ПО COMPLETE, позволяя вашим пользователям набирать файл ANYWHERE на вашем сервере с именем THEIR. –
Что бы вы предложили? У меня есть пароль для паролей, поэтому для того, чтобы даже получить доступ к нему, вам нужно установить login/psw, установленный с помощью cpanel, а также пароль, который установлен в access.php – Artsen
, по крайней мере, вычистить HELL из '[' name '] '. Это полностью под контролем пользователя и может включать в себя информацию о пути. Вы, по крайней мере, проверяете дубликаты загрузок, но подумайте, что может произойти, если '['name'] =/etc/passwd' или' c: \ windows \ system32 \ ntoskrnl.exe'. Вы также должны ограничивать допустимые типы файлов, а ** NOT ** помещать их в то место, где они могут быть достигнуты прямым URL-адресом. –