Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 脚本上载文件未上载到uuid文件夹_Php_File Upload_Uuid - Fatal编程技术网

Php 脚本上载文件未上载到uuid文件夹

Php 脚本上载文件未上载到uuid文件夹,php,file-upload,uuid,Php,File Upload,Uuid,我在本地创建的文件不会在远程服务器中发布,这是一个我添加了一些需要的功能的web应用程序。其中之一是上传一个wav文件,每次上传我都想将其上传到不同的文件夹中。 我使用的代码适用于普通文件夹。我在“添加一些选项”“我需要删除文件名中的空格”等中对其进行了编辑,但当我将$folderUuid放入move_upload_文件时,文件夹已创建,但文件未上载到 我无法理解的另一个特性是,只有在上传文件时才创建uuid文件夹,而不是每次刷新页面时。我阅读了讨论,了解到我必须使用$\u会话,但我的代码不起作

我在本地创建的文件不会在远程服务器中发布,这是一个我添加了一些需要的功能的web应用程序。其中之一是上传一个wav文件,每次上传我都想将其上传到不同的文件夹中。 我使用的代码适用于普通文件夹。我在“添加一些选项”“我需要删除文件名中的空格”等中对其进行了编辑,但当我将$folderUuid放入move_upload_文件时,文件夹已创建,但文件未上载到

我无法理解的另一个特性是,只有在上传文件时才创建uuid文件夹,而不是每次刷新页面时。我阅读了讨论,了解到我必须使用$\u会话,但我的代码不起作用

以下是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" />
希望有人能帮我解决这个问题。 问候 Brus

请尝试此代码

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";
  }

 }

不是创建一个uuid,而是创建一个名为filename的文件夹,但它还是有帮助的。谢谢。当做