如何使用PHP5上传任意类型的文件到服务器?

How to upload any type of file to the server using PHP 5?

我想创建一个 html 表单,可以将任何类型的文件(特定图像、pdf、doc 和文本文件)上传到服务器。是否可以为此使用单一功能。如果是那么怎么办?

=> 尝试使用此代码上传任何类型的文件..

//HTML 页数

<li class="text">File Upload </li>
<li><input type="file" name="file" value="" class="input"  ></li>

对所有文件上传试试这个.. //PHP 页数

if(isset($_POST['submit'])!=""){
  $name=$_FILES['file']['name'];
  $size=$_FILES['file']['size'];
  $type=$_FILES['file']['type'];
  $temp=$_FILES['file']['tmp_name'];
  $caption1=$_POST['caption'];
  $link=$_POST['link'];
  move_uploaded_file($temp,"upload/".$name);// set your folder name to store all file.

输入类型为'file'的html表单首先将文件上传到服务器上的临时路径,从这个临时路径,我们必须将它移动到我们服务器上的文件夹路径。

 <form action="uploads.php" method="post" enctype="multipart/form-data" id="imageform">
  <div class="ak"> Upload file :<input type="file"  name="imagech1" id="filess" class="filess" /></div>  
   <div id="trans1"></div>
<input type='submit' value='Submit'>
   </form>

在服务器端试试这个 'uploads.php':

 $path = "img/uploads/";

 if(isset( $_FILES['imagech1']) and $_SERVER['REQUEST_METHOD'] == "POST")
    {$name = $_FILES['imagech1']['name']; //recieves the file by the name of the input type'file'

        if(strlen($name))
            {
$ext=strrchr( $name,".");//extension of the file

$allowed=array("(",")"," "); //allowed characters in the name
$name=str_replace($allowed,"_",$name);//replace unallowed with _
$actual_image_name = $name;
$tmp = $_FILES['imagech1']['tmp_name'];//assign temperory path of file to $tmp

                        if(move_uploaded_file($tmp, $path.$actual_image_name))
                            {


                                echo "file uploaded";
                            }
                        else
                            echo "failed";



            }}

        else
            echo "Please upload file..!";