| 
	
 | 
 Posted by Vic Spainhower on 12/04/06 23:45 
Problem Solved - Duplicate form tag causing the File Array to not work. 
 
"Geoffrey" <google.poster@yahoo.com> wrote in message  
news:1165123109.088656.316830@f1g2000cwa.googlegroups.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.com> wrote in message 
>> news:1165113033.516042.277030@l12g2000cwl.googlegroups.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="multipart/form-data" action="fileupload.php" 
>> >> method="POST"> 
>> >> <input type="hidden" name="MAX_FILE_SIZE" value="300000" /> 
>> >> Choose a file to upload: <input name="uploadedfile" size="60"  
>> >> type="file" 
>> >> /> 
>> >> <input type="submit" name="continue" value="Continue" /> 
>> >> </form> 
>> >> 
>> >> 
>> >> PHP: 
>> >> 
>> >>        // set up basic connection 
>> >>         $ftp_server = "ftp.showmyhorse.com"; 
>> >>         $conn_id = ftp_connect($ftp_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["uploadedfile"]; 
>> >> 
>> >>         $basename = preg_replace( '/^.+[\\\\\\/]/', '',  
>> >> $source_file ); 
>> >>         $filename = preg_replace( "/[^\w\.-]+/", "_", $basename ); 
>> >>         $ShowID = $_SESSION['ShowID']; 
>> >>         $destination_file = $ShowID . "_" . $filename; 
>> >> 
>> >>         echo "source_file: $source_file <br>"; 
>> >>         echo "filename   : $filename <br>"; 
>> >>         echo "destination_file: $destination_file<br>"; 
>> >> 
>> >>         $upload = ftp_put($conn_id, $destination_file, $source_file, 
>> >> FTP_BINARY); 
>> >> 
>> >>         // check upload status 
>> >>         if (!$upload) { 
>> >>                $_SESSION['message_new']= "FTP upload has failed;  
>> >> Contact 
>> >> support@showmyhorse.com!"; 
>> >> 
>> >>            } else { 
>> >>                //echo "Uploaded $source_file to $ftp_server as 
>> >> $destination_file"; 
>> >>                $_SESSION['message_new']="Uploaded $filename  as 
>> >> $destination_file"; 
>> >>            } 
>> >> 
>> >>         // close the FTP stream 
>> >>         ftp_close($conn_id); 
>> >> 
>> >>         # Now add the schedule name to the database 
>> >>         $connection = mysql_pconnect($host,$user,$password) 
>> >>                     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($query) 
>> >>             or die("Problems encountered adding schedule information  
>> >> to 
>> >> database 
>> >>                 Query: $query <br> database: $database <br>"); 
>> > 
>
 
  
Navigation:
[Reply to this message] 
 |