Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 3 of 3
  1. #1
    New to the CF scene
    Join Date
    Aug 2007
    Posts
    7
    Thanks
    0
    Thanked 0 Times in 0 Posts

    check if file exists on ftp server problems

    I made a PHP script that allows me to upload files to a FTP server, the script works perfect and uploads the files with no problems. My problem is that I have this peice of code checking if the file exists on the FTP server but I keep getting a msg saying that it doesn't exist, I'm not sure if my code is right or if i'm missing something or if I'm not using the code correctly. This is the piece of code that I'm unsure of :

    if (file_exists($Filename))
    {
    echo "The file $Filename exists<BR>";
    }
    else
    {
    echo "The file $Filename does not exist<BR>";
    }

    Any help would be appreciated. Thanks

    Here is the Full PHP Code:

    PHP Code:
    <?php

    // FTP Configuration
    $FTP_User "$username";
    $FTP_Pass "$password";
    $FTP_Host "www.evolution.tv";
    $FTP_Root "$dir";

    // If the form was submitted
    if (isset($action) && $action == "submit") {

        if (
    $dir == "-1")
        {
            echo 
    "Error: Please choose a File Type to upload";
            exit;
        }

        
    // Connect to the ftp address
        
    $Connect ftp_connect($FTP_Host);

        if (!
    $Connect)
        {
            echo 
    "Error: Could not connect to ftp server<br>";
            exit;
        }

            echo 
    "Connected to $FTP_Host<br>";

        
    // Login
        
    $login ftp_login($Connect$FTP_User$FTP_Pass);
        
        
    //Turns passive mode on
        
    $passive ftp_pasv ($Connecttrue );

        echo 
    "Current directory is now: " ftp_pwd($Connect) . "<br>";
        
        if (
    ftp_chdir($Connect"$FTP_Root")) 
        {
        echo 
    "Current directory is now: " ftp_pwd($Connect) . "<br>";
        }    else echo 
    "Cannot change directory"

        
    $contents ftp_nlist($Connect".");

        
    // output $contents
        
    print_r($contents); 
        
        
    // check upload status
        
    if (!passive){
            echo 
    "Failed to enter passive mode.<br>";
        }
        else {
            echo 
    "Entered passive mode.<br>";
        }

        if (!
    $login)
        {
            echo 
    "Error: Could not log on as $FTP_User<br>";
            
    ftp_quit($Connect);
            exit;
        }
        
        echo 
    "Logged in as $FTP_User<br>";

        
    // Set the filename to be uploaded
        
    $Filename $_FILES['File_1']['name'];
        
    $myFile $_FILES['File_1'];
          
         
    $destination_file $FTP_ROOT.$_FILES['File_1']['name'];

        
    // Set the local resource (the file that will be uploaded)
        
    $file $myFile['tmp_name'];

        
    // If the file was successfully uploaded
        
    $upload ftp_put($Connect$destination_file$fileFTP_BINARY);

         if (
    file_exists($Filename))
          {
              echo 
    "The file $Filename exists<BR>";
          }
          else
          {
              echo 
    "The file $Filename does not exist<BR>";
          }
        
        if (!
    $upload)
        {
            
    // Show success message
            
    echo "There was a problem uploading $destination_file";
        }
        else
        {
            
    // Else show error message
            
    echo "Successfully uploaded $Filename";
            
        }
        
    ftp_close($Connect);
    }

    ?>
    Form Code:
    Code:
    <html>
    <head>
    <title> PHP FTP Upload Test </title>
    </head>
    <body>
    <table>
    <form method="post" action="?action=submit" enctype="multipart/form-data">
    <tr>
    <td>Username:</td>
    <td><input type="text" name="username" size="30"></td>
    </tr>
    <tr>
    <td>Password:</td>
    <td><input type="password" name="password" size="30"></td>
    </tr>
    <tr>
    <td>File Type:</td>
    <td><select name="dir">
    	<option value="-1">File Type</option>
    	<option value="/httpdocs/charbel/upload/">Image</option>
    	<option value="/httpdocs/charbel/upload/">PDF</option>
    	<option value="/httpdocs/charbel/upload/">MP3</option>
    	<option value="/httpdocs/charbel/upload/">Video</option>
    	</select>
    </td>
    </tr>
    <tr>
    <td>File:</td>
    <td><input type="file" name="File_1" size="30"></td>
    </tr>
    <tr>
    <td colspan="2" align="right"><input type="submit" value="Submit"></td>
    </tr>
    </form>
    </table>
    </body>
    </html>

  • #2
    Super Moderator Inigoesdr's Avatar
    Join Date
    Mar 2007
    Location
    Florida, USA
    Posts
    3,642
    Thanks
    2
    Thanked 405 Times in 397 Posts
    Try using ftp_size().

  • #3
    Regular Coder meth's Avatar
    Join Date
    Jan 2003
    Posts
    262
    Thanks
    0
    Thanked 9 Times in 9 Posts
    According to the logic of the script, wouldn't you want to be testing for:

    PHP Code:
    if (file_exists($destination_file))
          {
              echo 
    "The file $Filename exists<BR>";
          }
          else
          {
              echo 
    "The file $Filename does not exist<BR>";
          } 
    You have the user file name assigned to $Filename; nothing to do with files in the target directory.
    I do Web Design, Brisbane based.
    More time spent in PHP/MySQL Web Development.
    And Search Engine Optimisation takes up the rest of it.


  •  

    Posting Permissions

    • You may not post new threads
    • You may not post replies
    • You may not post attachments
    • You may not edit your posts
    •