我如何使用PHP上传文件的格式

时间:2017-05-08 20:10:08

标签: php

如何使用php上传文件并将其移动到透视文件夹, 我正在尝试让脚本自动上传

图像,例如jpg和png到jpg /文件夹 mp3到mp3 /文件夹 和mp4 flv mpeg到mp4文件夹

<?php
$ds          = DIRECTORY_SEPARATOR;

$jpg = "jpg/";
$mp3 = "mp3/";
$mp4 = "mp4/";


if (!empty($_FILES))
{
  if(substr($_FILES['file']['name'], -3) == "mp3")
  {
    $destination = substr($_FILES['file']['name'], -3);
    $file        =   $_FILES['file']['name'];

    echo "this : " . $mp3,$destination . $ds;
    move_uploaded_file($mp3,$destination . $ds ) or die("mp3 error");
    echo "uploaded : " . $file . "<br>";
  }
  else if(substr($_FILES['file']['name'], -3) == "mp4" or substr($_FILES['file']['name'], -3) == "mp4" or substr($_FILES['file']['name'], -4) == "mpeg" )
  {
    $destination = substr($_FILES['file']['name'], -3);
    $file        =   $_FILES['file']['name'];

    move_uploaded_file($mp4,$destination . $ds ) or die("mp4 error");
    echo "uploaded : " . $file . "<br>";
  }
  else if(substr($_FILES['file']['name'], -3) == "jpg" or substr($_FILES['file']['name'], -3) == "png")
  {
    $destination = substr($_FILES['file']['name'], -3);
    $file        =   $_FILES['file']['name'];

    move_uploaded_file($jpg,$destination . $ds ) or die("jpg error");
    echo "uploaded : " . $file . "<br>";
  }
  else
  {

  }
}
?>

1 个答案:

答案 0 :(得分:0)

阅读move_uploaded_file manual

第一个参数是&#34;上传文件的文件名。&#34;。你传递了什么:

move_uploaded_file($mp3,$destination . $ds )

$mp3文件夹 mp3

通常你需要传递$_FILES['file']['tmp_name']作为第一个参数。

第二个注释 - 连接$destination . $ds返回什么?

如果是music.mp3文件,则为mp3/

因此,您使用参数调用move_uploaded_file

move_uploaded_file('mp3/', 'mp3/');

你真的想要这个吗?

所以,最简单的修复是(对于mp3情况):

move_uploaded_file($_FILES['file']['tmp_name'], $mp3 . $_FILES['file']['name']);

在这种情况下,文件将保存在mp3文件夹中与文件原始名称相同的级别。

另外,请确保mp3文件夹存在并具有适当的权限