файл загрузки скрипта не загружается в папку uuid

Я создаю на своем локальном хосте (файлы не будут опубликованы на удаленном сервере) веб-приложение, в которое я добавляю некоторые функции, которые мне нужны. Одним из них является загрузка файла WAV, который я хочу загружать в разные папки для каждой загрузки.
Я использовал тот код, который работает с обычной папкой. Я отредактировал его, добавив некоторые нужные мне параметры (уберите пробел в имени файла и т. Д.), Но когда я помещаю «$ folderUuid» в «move_upload_file», папка создается, но файл не загружается в нее.

Еще одна особенность, которую я не смогу понять, куда добавить, — это создание папки uuid только при загрузке файла, а не при каждом обновлении страницы. Я прочитал эту дискуссию PHP File Upload Создание Каталога и понимаю, что я должен использовать $ _SESSION, но мой код не работает.

Вот код php:

if(isset($_POST['submit']))
{
$allowedExts = array("wav");
$fileName =   $_FILES['file']['name'];
$extension = substr($fileName, strrpos($fileName, '.') + 1);

if(!is_dir("inputFiles/". $_SESSION["folder"] ."/")) {
mkdir(uniqid('inputFiles/'), 0700). $_SESSION["folder"] ."/" ;

}
if(in_array($extension, $allowedExts))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Name: " . $_FILES["file"]["name"] . "<br />";
echo "File kind: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";

if (file_exists("inputFiles/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " file già esistente. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"], $folderUuid . str_replace(" ", "",$_FILES["file"]["name"]));
print "<br />";
echo "Saved in: " . "inputFiles/" . $_FILES["file"]["name"];
print "<br />";
}
}
}
else
{
echo "Invalid file";
}
}

Вот HTML-код:

<form method="post"  enctype="multipart/form-data" >

<label for="file"><span>Filename:</span></label>

<input type="file" name="file" id="file" />

<br />
<input type="submit" name="submit" value="Submit" />

Надеюсь, что кто-то может помочь мне решить эти проблемы.
С уважением
Брус

0

Решение

Попробуйте этот код

if(isset($_POST['submit']))
{

$file_name = $_FILES['file']['name'];
$tmp_file = $_FILES['file']['tmp_name'];

//create directory from the file
$temp = explode('.', $file_name);
$dir = $temp[0];
$extension = strtolower($temp[1]);
$allowedExts = array("wav");

if(!is_dir('inputFiles/'.$dir)){
mkdir("inputFiles/$dir",0700);
}
if(in_array($extension, $allowedExts))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Name: " . $_FILES["file"]["name"] . "<br />";
echo "File kind: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";

if (file_exists("inputFiles/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " file già esistente. ";
}
else
{
move_uploaded_file($tmp_file, "inputFiles/".$dir."/".$file_name);
print "<br />";
echo "Saved in: " . "inputFiles/$dir/" . $_FILES["file"]["name"];
print "<br />";
}
}
}
else
{
echo "Invalid file";
}

}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]