Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
?
Solved

connection reset when uploading large files

Posted on 2006-04-03
11
Medium Priority
?
269 Views
Last Modified: 2013-12-12
Greetings.

I'm having a problem with my upload handler.  If I send small files (under 1M or so), it works fine.  if I send larger files, I get the following error in Firefox:

The connection was reset.
The connection to the server was reset while the page was loading.

When using Internt Explorer, the error is simply
The Page cannot be displayed.
The page you are looking for is currently unavailable. The Web site might be experiencing technical difficulties, or you may need to adjust your browser settings

Do I have a problem with my php.ini settings?  I've tried a few adjustments but can't find the magic solution.

Any ideas?

Thanks in advance.
0
Comment
Question by:kennmurrah
  • 5
  • 4
9 Comments
 
LVL 28

Expert Comment

by:gamebits
ID: 16361696
Php has a set time out limit (default is 30 second)

more info here

http://ca3.php.net/manual/en/function.set-time-limit.php

Gamebits
0
 

Author Comment

by:kennmurrah
ID: 16361714
I'll try that, but the timeout occurs INSTANTLY ... so I'm not sure how that affects things.

0
 

Author Comment

by:kennmurrah
ID: 16361778
Just tried setting max_execution_time to a ridiculously high value, but once again, the error displayed immediately.

0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 28

Expert Comment

by:gamebits
ID: 16361850
Check your upload_max_filesize

Gamebits
0
 
LVL 28

Expert Comment

by:gamebits
ID: 16361870
0
 

Author Comment

by:kennmurrah
ID: 16361909
upload_max_filezie set to 200M

post_max_size = 250M
0
 
LVL 28

Expert Comment

by:gamebits
ID: 16361944
OK! what about the script, is there any upload limit set within the upload script?

Gamebits
0
 

Author Comment

by:kennmurrah
ID: 16361998
Not that I can see ... here's the complete code:

<?php
if ($customer == "" || $contact == "" | $contact_email == "") {
print <<< END
<table width="500" border="0" cellspacing="3" cellpadding="3">
  <tr>
    <td width="65"><img border="0" src="UsseryLogo.jpg"> </td>
    <td>
      <h1><font size="+3" color="#990000"><i>Oops.</i></font></h1>
    </td>
  </tr>
</table>
You must supply your name, your company's name and <br>
your email address when uploading files.<p>
Please click on the back button in your browser<br>
or (if you have Javascript enabled) click <a href="#" onClick="history.go(-1)"></a>
<input type=button value="HERE" onClick="history.go(-1)">
to <br>return to the previous page.<p>
      Thanks!<p>
END;
}
else {
$customer_trimmed = eregi_replace("[^[:alnum:]\.]","",$customer) ;
$customer_shortened = substr($customer_trimmed,0,18);
$customer_trimmed = $customer_shortened;
$folder_name = $customer_trimmed . date("mdyHis");

$old_umask = umask();
mkdir('/home/upco/uploads/' . $folder_name, 0777);
//umask($old_umask);

$dest_dir = '/home/upco/uploads/' . $folder_name;

error_reporting(0);

$summary_info = "You have successfully uploaded the following file(s):<br>" ;
for ($i=0; $i<count($_FILES['userFile']['name']); $i++)
{
$new_name = $_FILES['userFile']['name'][$i];
$parsed_name = eregi_replace("[^[:alnum:]\.]","",$new_name) ;
$dest = $dest_dir . '/' . $parsed_name;
if (!file_exists ($dest)) {
copy($_FILES['userFile']['tmp_name'][$i], $dest) ;  
$changepermissions = chmod($dest, 0777);

if ($_FILES['userFile']['size'][$i] > 0) {
$summary_info = $summary_info . "<tr><td>" . $_FILES['userFile']['name'][$i] . "<td>" . $_FILES['userFile']['size'][$i] . " bytes<p>" ;
}
}
}

$uploaded_file = $f['name'] ;
$email_subject = "$customer has uploaded a file";
$salesrep = $salesrep . ",kennphone@thebytebusiness.com";
$email_body = "$customer\n$contact\n$contact_email\n\n$description\n$dest_dir\n\n";
mail("$salesrep", "$email_subject", "$email_body");
$email_subject = "Your File Has Been Received";
$email_body = "$contact :\n\n
Your file $uploaded_file has been received by Ussery Printing Company, and both your sales representative and customer service representative have been notified.\n\n
If we can be of further assistance, please call us at 972-438-8344.\n
Thank you.\n
Ussery Printing Company
3402 Century Circle
Irving, TX 75062
972-438-8344\n";
mail($contact_email, $email_subject, $email_body);



print <<<END

<table>
$summary_info
</table>

<p>If you need to upload more files, click <a href="index.html">here</a><br>
  to return to the Uploads Page. </p>
<P> If you have questions, please call your Sales Representative<br>
  at 972-438-8344.
<p>
END;


$upload_info = "Customer: $customer\n\n
Contact: $contact
Contact email: $contact_email
Salesrep: $salesrep
$description";
$testfilename = $dest_dir . "/instructions.txt";
$testfile = fopen($testfilename, "a+");
$customer = $customer . "\r\n";
$contact = $contact . "\r\n";
fwrite($testfile, "Customer: $customer\r\n");
fwrite($testfile, "Contact: $contact\r\n");
fwrite($testfile, $description);
fclose($testfile);
}
?>
0
 
LVL 28

Accepted Solution

by:
gamebits earned 2000 total points
ID: 16362185
Script seems alright.

This is what I dug up from Firefox

The connection was reset
The connection to the server at %address was reset while the page was loading.

The site could be temporarily unavailable or too busy. Try again in a few moments.
If you are unable to load any addresses, check the computer's network connection.
If your computer or network is protected by a firewall or proxy, make sure that Firefox is permitted to access the Web.

You might want to investigate some more on this.

Gamebits
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction This article is intended for those who are new to PHP error handling (https://www.experts-exchange.com/articles/11769/And-by-the-way-I-am-New-to-PHP.html).  It addresses one of the most common problems that plague beginning PHP develop…
This holiday season, we’re giving away the gift of knowledge—tech knowledge, that is. Keep reading to see what hacks, tips, and trends we have wrapped and waiting for you under the tree.
The viewer will learn how to dynamically set the form action using jQuery.
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.
Suggested Courses

581 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question