How can I check if a file exists on a remote server using PHP?

后端 未结 6 1261
时光取名叫无心
时光取名叫无心 2020-12-02 20:47

How can I check if a specific file exists on a remote server using PHP via FTP connections?

6条回答
  •  甜味超标
    2020-12-02 21:11

    I used this, a bit easier:

    // the server you wish to connect to - you can also use the server ip ex. 107.23.17.20
            $ftp_server = "ftp.example.com";
    
    // set up a connection to the server we chose or die and show an error
            $conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server");
            ftp_login($conn_id,"ftpserver_username","ftpserver_password");
    
    // check if a file exist
            $path = "/SERVER_FOLDER/"; //the path where the file is located
    
            $file = "file.html"; //the file you are looking for
    
            $check_file_exist = $path.$file; //combine string for easy use
    
            $contents_on_server = ftp_nlist($conn_id, $path); //Returns an array of filenames from the specified directory on success or FALSE on error. 
    
    // Test if file is in the ftp_nlist array
            if (in_array($check_file_exist, $contents_on_server)) 
            {
                echo "
    "; echo "I found ".$check_file_exist." in directory : ".$path; } else { echo "
    "; echo $check_file_exist." not found in directory : ".$path; }; // output $contents_on_server, shows all the files it found, helps for debugging, you can use print_r() as well var_dump($contents_on_server); // remember to always close your ftp connection ftp_close($conn_id);

    Functions used: (thanks to middaparka)

    1. Login using ftp_connect

    2. Get the remote file list via ftp_nlist

    3. Use in_array to see if the file was present in the array

提交回复
热议问题