There's no such thing as a stupid question, but they're the easiest to answer.
JoinTour
Login
 
Tag Cloud
access audio avg avg 8 bios blue screen boot bsod computer connection cpu crash css dell desktop dma driver drivers dvd email error excel explorer firefox firefox 3 freeze gimp graphics hard drive hardware hijackthis hjt install internet internet explorer itunes keyboard laptop macro malware monitor motherboard network networking outlook outlook 2003 outlook 2007 outlook express pio problem problems router seo server slow sound sp3 spyware trojan usb video virtumonde virus vista vundo windows windows vista windows xp winxp wireless
Web Design & Development
Search
Search in:
 
Advanced Search
Tech Support Guy Forums > Internet & Networking > Web Design & Development >
MM_XSLTransform


HELLO AND WELCOME! Before you can post your question, you'll have to register -- it's completely free! Click here to join today! We highly recommend that you print a copy of our Guide for New Members. Enjoy!

 
Thread Tools
mstyers's Avatar
Member with 66 posts.
 
Join Date: Jun 2004
Experience: Intermediate
19-Jun-2008, 07:03 PM #1
MM_XSLTransform
In my website I am getting some data from another site. I used a standard php script from Dreamweaver that works but if the other site is slow my page takes a long time to timeout and then finish loading.

After doing some research I believe it has to do with the code that uses fopen which does not have a built in timeout. I have been told I should use fsocketopen instead.

All of my attempts to change the code to use fsocketopen have failed. Can someone look at this function and let me know how to change it to use fsocketopen instead of fopen.

Thanks in advance for the help.

function getRemoteFile(&$src) {
$fileContent = '';

$pos = strpos($src, '://');
$protocol = strtolower(substr($src, 0, $pos));

// avoid protocol upper case
$mySrc = $protocol . substr($src, $pos);

$magic_quotes_runtime_orig = get_magic_quotes_runtime();
set_magic_quotes_runtime(0);
if ($myFile = @fopen($mySrc, 'rb')) {
while ($data = fread($myFile, 2048)) {
$fileContent .= $data;
}
fclose($myFile);
} else {
$this->setError($this->getErrorFromCode('MM_OPEN_REMOTE_ERROR', array($src)));
if ($protocol == 'https') {
$this->setError($this->getErrorFromCode('MM_HTTPS_OPEN_ERROR', array($src)));
if ( (substr(PHP_VERSION, 0, 1) < 5) && (substr(PHP_VERSION, 2, 1) < 3) ) {
$this->setError($this->getErrorFromCode('MM_HTTPS_NOT_SUPPORTED_ERROR', array($src)));
}
}
}
set_magic_quotes_runtime($magic_quotes_runtime_orig);
return $fileContent;
}
tomdkat's Avatar
Computer Specs
Distinguished Member with 3,526 posts.
 
Join Date: May 2006
Location: S.F. Bay Area, CA
Experience: Intermediate
19-Jun-2008, 07:10 PM #2
Have you tried the examples in the fsockopen() documentation?

Peace...
mstyers's Avatar
Member with 66 posts.
 
Join Date: Jun 2004
Experience: Intermediate
19-Jun-2008, 07:40 PM #3
I am not too adept at php but I tried to use these examples and could not get it to work.
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are Off
Refbacks are Off

You Are Using:
Server ID
Advertisements do not imply our endorsement of that product or service.
All times are GMT -4. The time now is 01:16 AM.
Copyright © 1996 - 2008 TechGuy, Inc. All rights reserved.
Powered by vBulletin, Copyright © 2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.1.0
Powered by Cermak Technologies, Inc.