PHP File Upload Fails

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Vic Spainhower

    #1

    PHP File Upload Fails

    Hello,

    I am trying to do a FTP file upload which works fine on my localhost but on
    my ISP server it fails. I can't seem to find where I can go to find the
    specific cause of the failure. In both cases the file is being transmitted
    to the same FTP server and using the same PHP script so it shouldn't be a
    file size or login credentials problem. Could someone please help me out and
    give me some ideas what is wrong.

    I would really appreciate any help someone could provide as I've spent many
    hours on this looking for answers. I've contacted my ISP and they've looked
    at everything and also do not have an answer.

    Thanks a lot,

    Vic

    Here is the PHP form and script I'm using:

    Form:

    <form enctype="multip art/form-data" action="fileupl oad.php" method="POST">
    <input type="hidden" name="MAX_FILE_ SIZE" value="300000" />
    Choose a file to upload: <input name="uploadedf ile" size="60" type="file" />
    <input type="submit" name="continue" value="Continue " />
    </form>


    PHP:

    // set up basic connection
    $ftp_server = "ftp.showmyhors e.com";
    $conn_id = ftp_connect($ft p_server);

    // login with username and password
    $ftp_user_name = "XXX";
    $ftp_user_pass = "XXX";
    $login_result = ftp_login($conn _id, $ftp_user_name, $ftp_user_pass) ;

    // check connection
    if ((!$conn_id) || (!$login_result )) {
    $_SESSION['message_new']= "Attempted to connect to
    $ftp_server for user $ftp_user_name has failed! ";
    break;
    } else {
    //echo "Connected to $ftp_server, for user $ftp_user_name" ;
    }

    // upload the file
    $source_file = $_POST["uploadedfi le"];

    $basename = preg_replace( '/^.+[\\\\\\/]/', '', $source_file );
    $filename = preg_replace( "/[^\w\.-]+/", "_", $basename );
    $ShowID = $_SESSION['ShowID'];
    $destination_fi le = $ShowID . "_" . $filename;

    echo "source_fil e: $source_file <br>";
    echo "filename : $filename <br>";
    echo "destination_fi le: $destination_fi le<br>";

    $upload = ftp_put($conn_i d, $destination_fi le, $source_file,
    FTP_BINARY);

    // check upload status
    if (!$upload) {
    $_SESSION['message_new']= "FTP upload has failed; Contact
    support@showmyh orse.com!";

    } else {
    //echo "Uploaded $source_file to $ftp_server as
    $destination_fi le";
    $_SESSION['message_new']="Uploaded $filename as
    $destination_fi le";
    }

    // close the FTP stream
    ftp_close($conn _id);

    # Now add the schedule name to the database
    $connection = mysql_pconnect( $host,$user,$pa ssword)
    or die ("Couldn't connect to server.");
    $db = mysql_select_db ($database, $connection)
    or die ("Couldn't select database.");

    $query = "UPDATE ShowInfo SET ShowSchedule = '$destination_f ile'
    WHERE ShowID=$ShowID" ;
    $result = mysql_query($qu ery)
    or die("Problems encountered adding schedule information to
    database
    Query: $query <brdatabase: $database <br>");



  • Geoffrey

    #2
    Re: PHP File Upload Fails

    Hi Vic --

    PHP stores information about file uploads in the $_FILES superglobal
    array, not $_POST. Using the proper array should solve your problem.

    Geoffrey


    Vic Spainhower wrote:
    Hello,
    >
    I am trying to do a FTP file upload which works fine on my localhost but on
    my ISP server it fails. I can't seem to find where I can go to find the
    specific cause of the failure. In both cases the file is being transmitted
    to the same FTP server and using the same PHP script so it shouldn't be a
    file size or login credentials problem. Could someone please help me out and
    give me some ideas what is wrong.
    >
    I would really appreciate any help someone could provide as I've spent many
    hours on this looking for answers. I've contacted my ISP and they've looked
    at everything and also do not have an answer.
    >
    Thanks a lot,
    >
    Vic
    >
    Here is the PHP form and script I'm using:
    >
    Form:
    >
    <form enctype="multip art/form-data" action="fileupl oad.php" method="POST">
    <input type="hidden" name="MAX_FILE_ SIZE" value="300000" />
    Choose a file to upload: <input name="uploadedf ile" size="60" type="file" />
    <input type="submit" name="continue" value="Continue " />
    </form>
    >
    >
    PHP:
    >
    // set up basic connection
    $ftp_server = "ftp.showmyhors e.com";
    $conn_id = ftp_connect($ft p_server);
    >
    // login with username and password
    $ftp_user_name = "XXX";
    $ftp_user_pass = "XXX";
    $login_result = ftp_login($conn _id, $ftp_user_name, $ftp_user_pass) ;
    >
    // check connection
    if ((!$conn_id) || (!$login_result )) {
    $_SESSION['message_new']= "Attempted to connect to
    $ftp_server for user $ftp_user_name has failed! ";
    break;
    } else {
    //echo "Connected to $ftp_server, for user $ftp_user_name" ;
    }
    >
    // upload the file
    $source_file = $_POST["uploadedfi le"];
    >
    $basename = preg_replace( '/^.+[\\\\\\/]/', '', $source_file );
    $filename = preg_replace( "/[^\w\.-]+/", "_", $basename );
    $ShowID = $_SESSION['ShowID'];
    $destination_fi le = $ShowID . "_" . $filename;
    >
    echo "source_fil e: $source_file <br>";
    echo "filename : $filename <br>";
    echo "destination_fi le: $destination_fi le<br>";
    >
    $upload = ftp_put($conn_i d, $destination_fi le, $source_file,
    FTP_BINARY);
    >
    // check upload status
    if (!$upload) {
    $_SESSION['message_new']= "FTP upload has failed; Contact
    support@showmyh orse.com!";
    >
    } else {
    //echo "Uploaded $source_file to $ftp_server as
    $destination_fi le";
    $_SESSION['message_new']="Uploaded $filename as
    $destination_fi le";
    }
    >
    // close the FTP stream
    ftp_close($conn _id);
    >
    # Now add the schedule name to the database
    $connection = mysql_pconnect( $host,$user,$pa ssword)
    or die ("Couldn't connect to server.");
    $db = mysql_select_db ($database, $connection)
    or die ("Couldn't select database.");
    >
    $query = "UPDATE ShowInfo SET ShowSchedule = '$destination_f ile'
    WHERE ShowID=$ShowID" ;
    $result = mysql_query($qu ery)
    or die("Problems encountered adding schedule information to
    database
    Query: $query <brdatabase: $database <br>");

    Comment

    • Vic Spainhower

      #3
      Re: PHP File Upload Fails

      Geoffrey,

      Thanks for the reply. The FILES array doesn't contain the file name to be
      uploaded for some reason but the POST array does. What might be the reason
      for this?? What I don't understand is that since there is a file name passed
      to the FTP put (even though it's in the POST array) why wouldn't htat work?

      $target_path = $target_path . basename(
      $_FILES['userfile']['name']);

      ** The following statement when executed after the file is selected for
      upload shows nothing ***
      echo "target Path: $target_path <br>";

      ** The following statement when executed after the file is selected for
      upload contains the name of the file ***
      $source_file = $_POST["userfile"];

      $basename = preg_replace( '/^.+[\\\\\\/]/', '', $source_file );
      $filename = preg_replace( "/[^\w\.-]+/", "_", $basename );

      Thanks Geoffrey,

      Vic



      "Geoffrey" <google.poster@ yahoo.comwrote in message
      news:1165113033 .516042.277030@ l12g2000cwl.goo glegroups.com.. .
      Hi Vic --
      >
      PHP stores information about file uploads in the $_FILES superglobal
      array, not $_POST. Using the proper array should solve your problem.
      >
      Geoffrey
      >
      >
      Vic Spainhower wrote:
      >Hello,
      >>
      >I am trying to do a FTP file upload which works fine on my localhost but
      >on
      >my ISP server it fails. I can't seem to find where I can go to find the
      >specific cause of the failure. In both cases the file is being
      >transmitted
      >to the same FTP server and using the same PHP script so it shouldn't be a
      >file size or login credentials problem. Could someone please help me out
      >and
      >give me some ideas what is wrong.
      >>
      >I would really appreciate any help someone could provide as I've spent
      >many
      >hours on this looking for answers. I've contacted my ISP and they've
      >looked
      >at everything and also do not have an answer.
      >>
      >Thanks a lot,
      >>
      >Vic
      >>
      >Here is the PHP form and script I'm using:
      >>
      >Form:
      >>
      ><form enctype="multip art/form-data" action="fileupl oad.php"
      >method="POST ">
      ><input type="hidden" name="MAX_FILE_ SIZE" value="300000" />
      >Choose a file to upload: <input name="uploadedf ile" size="60" type="file"
      >/>
      ><input type="submit" name="continue" value="Continue " />
      ></form>
      >>
      >>
      >PHP:
      >>
      > // set up basic connection
      > $ftp_server = "ftp.showmyhors e.com";
      > $conn_id = ftp_connect($ft p_server);
      >>
      > // login with username and password
      > $ftp_user_name = "XXX";
      > $ftp_user_pass = "XXX";
      > $login_result = ftp_login($conn _id, $ftp_user_name,
      >$ftp_user_pass );
      >>
      > // check connection
      > if ((!$conn_id) || (!$login_result )) {
      > $_SESSION['message_new']= "Attempted to connect to
      >$ftp_server for user $ftp_user_name has failed! ";
      > break;
      > } else {
      > //echo "Connected to $ftp_server, for user
      >$ftp_user_name ";
      > }
      >>
      > // upload the file
      > $source_file = $_POST["uploadedfi le"];
      >>
      > $basename = preg_replace( '/^.+[\\\\\\/]/', '', $source_file );
      > $filename = preg_replace( "/[^\w\.-]+/", "_", $basename );
      > $ShowID = $_SESSION['ShowID'];
      > $destination_fi le = $ShowID . "_" . $filename;
      >>
      > echo "source_fil e: $source_file <br>";
      > echo "filename : $filename <br>";
      > echo "destination_fi le: $destination_fi le<br>";
      >>
      > $upload = ftp_put($conn_i d, $destination_fi le, $source_file,
      >FTP_BINARY);
      >>
      > // check upload status
      > if (!$upload) {
      > $_SESSION['message_new']= "FTP upload has failed; Contact
      >support@showmyh orse.com!";
      >>
      > } else {
      > //echo "Uploaded $source_file to $ftp_server as
      >$destination_f ile";
      > $_SESSION['message_new']="Uploaded $filename as
      >$destination_f ile";
      > }
      >>
      > // close the FTP stream
      > ftp_close($conn _id);
      >>
      > # Now add the schedule name to the database
      > $connection = mysql_pconnect( $host,$user,$pa ssword)
      > or die ("Couldn't connect to server.");
      > $db = mysql_select_db ($database, $connection)
      > or die ("Couldn't select database.");
      >>
      > $query = "UPDATE ShowInfo SET ShowSchedule = '$destination_f ile'
      >WHERE ShowID=$ShowID" ;
      > $result = mysql_query($qu ery)
      > or die("Problems encountered adding schedule information to
      >database
      > Query: $query <brdatabase: $database <br>");
      >

      Comment

      • Geoffrey

        #4
        Re: PHP File Upload Fails

        Hmmmm...well, I'm stumped. I've never seen this behavior before and
        don't really know how to explain it. The POST array should contain the
        values of the two input elements in your HTML file (MAX_FILE_SIZE and
        your submit button). The FILES array should contain the file
        information. Even with uploads disabled in php.ini, the POST array
        contents shouldn't change. For curiousity's sake, could you post the
        output of the print_r function for POST and FILES, please?


        Vic Spainhower wrote:
        Geoffrey,
        >
        Thanks for the reply. The FILES array doesn't contain the file name to be
        uploaded for some reason but the POST array does. What might be the reason
        for this?? What I don't understand is that since there is a file name passed
        to the FTP put (even though it's in the POST array) why wouldn't htat work?
        >
        $target_path = $target_path . basename(
        $_FILES['userfile']['name']);
        >
        ** The following statement when executed after the file is selected for
        upload shows nothing ***
        echo "target Path: $target_path <br>";
        >
        ** The following statement when executed after the file is selected for
        upload contains the name of the file ***
        $source_file = $_POST["userfile"];
        >
        $basename = preg_replace( '/^.+[\\\\\\/]/', '', $source_file );
        $filename = preg_replace( "/[^\w\.-]+/", "_", $basename );
        >
        Thanks Geoffrey,
        >
        Vic
        >
        >
        >
        "Geoffrey" <google.poster@ yahoo.comwrote in message
        news:1165113033 .516042.277030@ l12g2000cwl.goo glegroups.com.. .
        Hi Vic --

        PHP stores information about file uploads in the $_FILES superglobal
        array, not $_POST. Using the proper array should solve your problem.

        Geoffrey


        Vic Spainhower wrote:
        Hello,
        >
        I am trying to do a FTP file upload which works fine on my localhost but
        on
        my ISP server it fails. I can't seem to find where I can go to find the
        specific cause of the failure. In both cases the file is being
        transmitted
        to the same FTP server and using the same PHP script so it shouldn't be a
        file size or login credentials problem. Could someone please help me out
        and
        give me some ideas what is wrong.
        >
        I would really appreciate any help someone could provide as I've spent
        many
        hours on this looking for answers. I've contacted my ISP and they've
        looked
        at everything and also do not have an answer.
        >
        Thanks a lot,
        >
        Vic
        >
        Here is the PHP form and script I'm using:
        >
        Form:
        >
        <form enctype="multip art/form-data" action="fileupl oad.php"
        method="POST">
        <input type="hidden" name="MAX_FILE_ SIZE" value="300000" />
        Choose a file to upload: <input name="uploadedf ile" size="60" type="file"
        />
        <input type="submit" name="continue" value="Continue " />
        </form>
        >
        >
        PHP:
        >
        // set up basic connection
        $ftp_server = "ftp.showmyhors e.com";
        $conn_id = ftp_connect($ft p_server);
        >
        // login with username and password
        $ftp_user_name = "XXX";
        $ftp_user_pass = "XXX";
        $login_result = ftp_login($conn _id, $ftp_user_name,
        $ftp_user_pass) ;
        >
        // check connection
        if ((!$conn_id) || (!$login_result )) {
        $_SESSION['message_new']= "Attempted to connect to
        $ftp_server for user $ftp_user_name has failed! ";
        break;
        } else {
        //echo "Connected to $ftp_server, for user
        $ftp_user_name" ;
        }
        >
        // upload the file
        $source_file = $_POST["uploadedfi le"];
        >
        $basename = preg_replace( '/^.+[\\\\\\/]/', '', $source_file );
        $filename = preg_replace( "/[^\w\.-]+/", "_", $basename );
        $ShowID = $_SESSION['ShowID'];
        $destination_fi le = $ShowID . "_" . $filename;
        >
        echo "source_fil e: $source_file <br>";
        echo "filename : $filename <br>";
        echo "destination_fi le: $destination_fi le<br>";
        >
        $upload = ftp_put($conn_i d, $destination_fi le, $source_file,
        FTP_BINARY);
        >
        // check upload status
        if (!$upload) {
        $_SESSION['message_new']= "FTP upload has failed; Contact
        support@showmyh orse.com!";
        >
        } else {
        //echo "Uploaded $source_file to $ftp_server as
        $destination_fi le";
        $_SESSION['message_new']="Uploaded $filename as
        $destination_fi le";
        }
        >
        // close the FTP stream
        ftp_close($conn _id);
        >
        # Now add the schedule name to the database
        $connection = mysql_pconnect( $host,$user,$pa ssword)
        or die ("Couldn't connect to server.");
        $db = mysql_select_db ($database, $connection)
        or die ("Couldn't select database.");
        >
        $query = "UPDATE ShowInfo SET ShowSchedule = '$destination_f ile'
        WHERE ShowID=$ShowID" ;
        $result = mysql_query($qu ery)
        or die("Problems encountered adding schedule information to
        database
        Query: $query <brdatabase: $database <br>");

        Comment

        • Vic Spainhower

          #5
          Re: PHP File Upload Fails


          "Geoffrey" <google.poster@ yahoo.comwrote in message
          news:1165123109 .088656.316830@ f1g2000cwa.goog legroups.com...
          Hmmmm...well, I'm stumped. I've never seen this behavior before and
          don't really know how to explain it. The POST array should contain the
          values of the two input elements in your HTML file (MAX_FILE_SIZE and
          your submit button). The FILES array should contain the file
          information. Even with uploads disabled in php.ini, the POST array
          contents shouldn't change. For curiousity's sake, could you post the
          output of the print_r function for POST and FILES, please?
          >
          >
          Hi Geoffrey,

          yea me to! here's the print_r stuff showing userfile in the POST array. Why
          would it matter to the FTP put which array contains the file name to be
          uploaded? I could see that being a problem if it was an HTTP upload. Since
          it works on my localhost going to the same FTP server I would think the
          problem would not be in the PHP script. Here's also the php.ini info

          FILES Array:
          Array ( )
          POST Array:
          Array ( [MAX_FILE_SIZE] =30000 [userfile] =C:\\Client Databases\\Hugh es
          Supply\\Hughes_ Projects.NET.zi p [continue] =Send File )

          ;;;;;;;;;;;;;;; ;
          ; File Uploads ;
          ;;;;;;;;;;;;;;; ;
          file_uploads = On ; Whether to allow HTTP file uploads
          upload_tmp_dir = ; temporary directory for HTTP uploaded
          files (will use system default if not specified)
          upload_max_file size = 2M ; Maximum allowed size for uploaded files


          Thanks,

          Vic


          Comment

          • Vic Spainhower

            #6
            Re: PHP File Upload Fails

            Geoffrey,

            I do need to do an HTTP upload and NOT FTP because it will look for the file
            on the C drive on the server instead of the user's local drive. So maybe
            once we figure out why the file information is not in the FILES array it
            will work.

            Thanks,

            Vic



            "Geoffrey" <google.poster@ yahoo.comwrote in message
            news:1165123109 .088656.316830@ f1g2000cwa.goog legroups.com...
            Hmmmm...well, I'm stumped. I've never seen this behavior before and
            don't really know how to explain it. The POST array should contain the
            values of the two input elements in your HTML file (MAX_FILE_SIZE and
            your submit button). The FILES array should contain the file
            information. Even with uploads disabled in php.ini, the POST array
            contents shouldn't change. For curiousity's sake, could you post the
            output of the print_r function for POST and FILES, please?
            >
            >
            Vic Spainhower wrote:
            >Geoffrey,
            >>
            >Thanks for the reply. The FILES array doesn't contain the file name to be
            >uploaded for some reason but the POST array does. What might be the
            >reason
            >for this?? What I don't understand is that since there is a file name
            >passed
            >to the FTP put (even though it's in the POST array) why wouldn't htat
            >work?
            >>
            > $target_path = $target_path . basename(
            >$_FILES['userfile']['name']);
            >>
            >** The following statement when executed after the file is selected for
            >upload shows nothing ***
            > echo "target Path: $target_path <br>";
            >>
            >** The following statement when executed after the file is selected for
            >upload contains the name of the file ***
            > $source_file = $_POST["userfile"];
            >>
            > $basename = preg_replace( '/^.+[\\\\\\/]/', '', $source_file );
            > $filename = preg_replace( "/[^\w\.-]+/", "_", $basename );
            >>
            >Thanks Geoffrey,
            >>
            >Vic
            >>
            >>
            >>
            >"Geoffrey" <google.poster@ yahoo.comwrote in message
            >news:116511303 3.516042.277030 @l12g2000cwl.go oglegroups.com. ..
            Hi Vic --
            >
            PHP stores information about file uploads in the $_FILES superglobal
            array, not $_POST. Using the proper array should solve your problem.
            >
            Geoffrey
            >
            >
            Vic Spainhower wrote:
            >Hello,
            >>
            >I am trying to do a FTP file upload which works fine on my localhost
            >but
            >on
            >my ISP server it fails. I can't seem to find where I can go to find
            >the
            >specific cause of the failure. In both cases the file is being
            >transmitted
            >to the same FTP server and using the same PHP script so it shouldn't
            >be a
            >file size or login credentials problem. Could someone please help me
            >out
            >and
            >give me some ideas what is wrong.
            >>
            >I would really appreciate any help someone could provide as I've spent
            >many
            >hours on this looking for answers. I've contacted my ISP and they've
            >looked
            >at everything and also do not have an answer.
            >>
            >Thanks a lot,
            >>
            >Vic
            >>
            >Here is the PHP form and script I'm using:
            >>
            >Form:
            >>
            ><form enctype="multip art/form-data" action="fileupl oad.php"
            >method="POST ">
            ><input type="hidden" name="MAX_FILE_ SIZE" value="300000" />
            >Choose a file to upload: <input name="uploadedf ile" size="60"
            >type="file"
            >/>
            ><input type="submit" name="continue" value="Continue " />
            ></form>
            >>
            >>
            >PHP:
            >>
            > // set up basic connection
            > $ftp_server = "ftp.showmyhors e.com";
            > $conn_id = ftp_connect($ft p_server);
            >>
            > // login with username and password
            > $ftp_user_name = "XXX";
            > $ftp_user_pass = "XXX";
            > $login_result = ftp_login($conn _id, $ftp_user_name,
            >$ftp_user_pass );
            >>
            > // check connection
            > if ((!$conn_id) || (!$login_result )) {
            > $_SESSION['message_new']= "Attempted to connect to
            >$ftp_server for user $ftp_user_name has failed! ";
            > break;
            > } else {
            > //echo "Connected to $ftp_server, for user
            >$ftp_user_name ";
            > }
            >>
            > // upload the file
            > $source_file = $_POST["uploadedfi le"];
            >>
            > $basename = preg_replace( '/^.+[\\\\\\/]/', '',
            >$source_file );
            > $filename = preg_replace( "/[^\w\.-]+/", "_", $basename );
            > $ShowID = $_SESSION['ShowID'];
            > $destination_fi le = $ShowID . "_" . $filename;
            >>
            > echo "source_fil e: $source_file <br>";
            > echo "filename : $filename <br>";
            > echo "destination_fi le: $destination_fi le<br>";
            >>
            > $upload = ftp_put($conn_i d, $destination_fi le, $source_file,
            >FTP_BINARY);
            >>
            > // check upload status
            > if (!$upload) {
            > $_SESSION['message_new']= "FTP upload has failed;
            >Contact
            >support@showmyh orse.com!";
            >>
            > } else {
            > //echo "Uploaded $source_file to $ftp_server as
            >$destination_f ile";
            > $_SESSION['message_new']="Uploaded $filename as
            >$destination_f ile";
            > }
            >>
            > // close the FTP stream
            > ftp_close($conn _id);
            >>
            > # Now add the schedule name to the database
            > $connection = mysql_pconnect( $host,$user,$pa ssword)
            > or die ("Couldn't connect to server.");
            > $db = mysql_select_db ($database, $connection)
            > or die ("Couldn't select database.");
            >>
            > $query = "UPDATE ShowInfo SET ShowSchedule =
            >'$destination_ file'
            >WHERE ShowID=$ShowID" ;
            > $result = mysql_query($qu ery)
            > or die("Problems encountered adding schedule information
            >to
            >database
            > Query: $query <brdatabase: $database <br>");
            >
            >

            Comment

            • Vic Spainhower

              #7
              Re: PHP File Upload Fails

              Problem Solved - Duplicate form tag causing the File Array to not work.

              "Geoffrey" <google.poster@ yahoo.comwrote in message
              news:1165123109 .088656.316830@ f1g2000cwa.goog legroups.com...
              Hmmmm...well, I'm stumped. I've never seen this behavior before and
              don't really know how to explain it. The POST array should contain the
              values of the two input elements in your HTML file (MAX_FILE_SIZE and
              your submit button). The FILES array should contain the file
              information. Even with uploads disabled in php.ini, the POST array
              contents shouldn't change. For curiousity's sake, could you post the
              output of the print_r function for POST and FILES, please?
              >
              >
              Vic Spainhower wrote:
              >Geoffrey,
              >>
              >Thanks for the reply. The FILES array doesn't contain the file name to be
              >uploaded for some reason but the POST array does. What might be the
              >reason
              >for this?? What I don't understand is that since there is a file name
              >passed
              >to the FTP put (even though it's in the POST array) why wouldn't htat
              >work?
              >>
              > $target_path = $target_path . basename(
              >$_FILES['userfile']['name']);
              >>
              >** The following statement when executed after the file is selected for
              >upload shows nothing ***
              > echo "target Path: $target_path <br>";
              >>
              >** The following statement when executed after the file is selected for
              >upload contains the name of the file ***
              > $source_file = $_POST["userfile"];
              >>
              > $basename = preg_replace( '/^.+[\\\\\\/]/', '', $source_file );
              > $filename = preg_replace( "/[^\w\.-]+/", "_", $basename );
              >>
              >Thanks Geoffrey,
              >>
              >Vic
              >>
              >>
              >>
              >"Geoffrey" <google.poster@ yahoo.comwrote in message
              >news:116511303 3.516042.277030 @l12g2000cwl.go oglegroups.com. ..
              Hi Vic --
              >
              PHP stores information about file uploads in the $_FILES superglobal
              array, not $_POST. Using the proper array should solve your problem.
              >
              Geoffrey
              >
              >
              Vic Spainhower wrote:
              >Hello,
              >>
              >I am trying to do a FTP file upload which works fine on my localhost
              >but
              >on
              >my ISP server it fails. I can't seem to find where I can go to find
              >the
              >specific cause of the failure. In both cases the file is being
              >transmitted
              >to the same FTP server and using the same PHP script so it shouldn't
              >be a
              >file size or login credentials problem. Could someone please help me
              >out
              >and
              >give me some ideas what is wrong.
              >>
              >I would really appreciate any help someone could provide as I've spent
              >many
              >hours on this looking for answers. I've contacted my ISP and they've
              >looked
              >at everything and also do not have an answer.
              >>
              >Thanks a lot,
              >>
              >Vic
              >>
              >Here is the PHP form and script I'm using:
              >>
              >Form:
              >>
              ><form enctype="multip art/form-data" action="fileupl oad.php"
              >method="POST ">
              ><input type="hidden" name="MAX_FILE_ SIZE" value="300000" />
              >Choose a file to upload: <input name="uploadedf ile" size="60"
              >type="file"
              >/>
              ><input type="submit" name="continue" value="Continue " />
              ></form>
              >>
              >>
              >PHP:
              >>
              > // set up basic connection
              > $ftp_server = "ftp.showmyhors e.com";
              > $conn_id = ftp_connect($ft p_server);
              >>
              > // login with username and password
              > $ftp_user_name = "XXX";
              > $ftp_user_pass = "XXX";
              > $login_result = ftp_login($conn _id, $ftp_user_name,
              >$ftp_user_pass );
              >>
              > // check connection
              > if ((!$conn_id) || (!$login_result )) {
              > $_SESSION['message_new']= "Attempted to connect to
              >$ftp_server for user $ftp_user_name has failed! ";
              > break;
              > } else {
              > //echo "Connected to $ftp_server, for user
              >$ftp_user_name ";
              > }
              >>
              > // upload the file
              > $source_file = $_POST["uploadedfi le"];
              >>
              > $basename = preg_replace( '/^.+[\\\\\\/]/', '',
              >$source_file );
              > $filename = preg_replace( "/[^\w\.-]+/", "_", $basename );
              > $ShowID = $_SESSION['ShowID'];
              > $destination_fi le = $ShowID . "_" . $filename;
              >>
              > echo "source_fil e: $source_file <br>";
              > echo "filename : $filename <br>";
              > echo "destination_fi le: $destination_fi le<br>";
              >>
              > $upload = ftp_put($conn_i d, $destination_fi le, $source_file,
              >FTP_BINARY);
              >>
              > // check upload status
              > if (!$upload) {
              > $_SESSION['message_new']= "FTP upload has failed;
              >Contact
              >support@showmyh orse.com!";
              >>
              > } else {
              > //echo "Uploaded $source_file to $ftp_server as
              >$destination_f ile";
              > $_SESSION['message_new']="Uploaded $filename as
              >$destination_f ile";
              > }
              >>
              > // close the FTP stream
              > ftp_close($conn _id);
              >>
              > # Now add the schedule name to the database
              > $connection = mysql_pconnect( $host,$user,$pa ssword)
              > or die ("Couldn't connect to server.");
              > $db = mysql_select_db ($database, $connection)
              > or die ("Couldn't select database.");
              >>
              > $query = "UPDATE ShowInfo SET ShowSchedule =
              >'$destination_ file'
              >WHERE ShowID=$ShowID" ;
              > $result = mysql_query($qu ery)
              > or die("Problems encountered adding schedule information
              >to
              >database
              > Query: $query <brdatabase: $database <br>");
              >
              >

              Comment

              Working...