move_uploaded_file正在localhost中工作,但不在服务器中

时间:2016-07-20 08:40:40

标签: php pdo

我使用move_uploaded_file将我选择的一些文件传输到另一个文件夹。它在我的本地主机上工作,但不在我们的服务器上。我不知道为什么。这是我的代码。

   <?php
     include('connect.php');
     if(isset($_POST['submit']))
     {
       $position = $_POST['position'];
       $first_name = $_POST['first_name'];
       $last_name = $_POST['last_name'];
       $contact_number = $_POST['contact_number'];
       $email = $_POST['email'];
       $status = 'NO';

       $resume = $_FILES['resume']['name'];
       $resume_tmp = $_FILES['resume']['tmp_name'];
       $ret=explode('.',$_FILES['resume']['name']);
       $file_ext=array_pop($ret);
       $extensions = array("pdf","docx");

       if(in_array($file_ext,$extensions )=== false){
        echo "<script> alert('Unsupported format')</script>";
        echo "<script>window.location='index.php';</script>";
       }
       else{    
            move_uploaded_file($resume_tmp,"resume/$resume");
            $query=$pdo->prepare("INSERT INTO                   applicants(position,first_name,last_name,contact_number,email,resume,status) VALUES (:position,:first_name,:last_name,:contact_number,:email,:resume,:status)");
            $query->bindParam(':position',$position);
            $query->bindParam(':first_name',$first_name);
            $query->bindParam(':last_name',$last_name);
            $query->bindParam(':contact_number',$contact_number);
            $query->bindParam(':email',$email);
            $query->bindParam(':resume',$resume);
            $query->bindParam(':status',$status);
            $query->execute();

            echo "<script> alert('You Successfully Applied to this Job')</script>";
            echo "<script>window.location='index.php';</script>";
      }   
      }
    ?>

2 个答案:

答案 0 :(得分:1)

首先检查上传目录是否存在。然后将其权限更改为777全部可写。

$file = "images";
if(is_dir($file))
{
echo ("$file is a directory");
}
else
{
echo ("$file is not a directory");
}

答案 1 :(得分:0)

可以通过将文件夹权限更改为777来解决此问题。 转到文件管理器并选择更改权限。 让它全部可写。 这就是全部。