You are here: Re: PHP File Upload Fails « PHP Programming Language « IT news, forums, messages
Re: PHP File Upload Fails

Posted by Vic Spainhower on 12/03/06 17:15

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.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]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация