2010-03-22 8 views
1

Réponse: Mis en œuvre en utilisant Curl ...Comment utiliser Wordpress 'http.php dans des projets externes?

$file = "http://abc.com/data//output.txt"; 
$ch = curl_init($file); 
$fp = @fopen("out.txt", "w"); 
curl_setopt($ch, CURLOPT_FILE, $fp); 
curl_setopt($ch, CURLOPT_HEADER, 0); 
curl_exec($ch); 
curl_close($ch); 
fclose($fp); 
$file = "out.txt"; 
$fp = fopen($file, "r"); 

Je tente d'analyser les données d'un fichier texte délimité par tuyau hébergé sur un autre serveur qui à son tour sera inséré dans une base de données. Mon hôte (1and1) désactivé allow_url_fopen dans php.ini Je suppose.

Message d'erreur:

Warning: fopen() [function.fopen]: URL file-access is disabled in the server configuration in 

code:

<? 


// make sure curl is installed 
if (function_exists('curl_init')) { 
    // initialize a new curl resource 
    $ch = curl_init(); 

    // set the url to fetch 
    curl_setopt($ch, CURLOPT_URL, 'http://abc.com/data/output.txt'); 

    // don't give me the headers just the content 
    curl_setopt($ch, CURLOPT_HEADER, 0); 

    // return the value instead of printing the response to browser 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

    // use a user agent to mimic a browser 
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0'); 

    $content = curl_exec($ch); 

    // remember to always close the session and free all resources 
    curl_close($ch); 
} else { 
    // curl library is not installed so we better use something else 
} 

//$contents = fread ($fd,filesize ($filename)); 

//fclose ($fd); 
$delimiter = "|"; 
$splitcontents = explode($delimiter, $contents); 
$counter = ""; 
?> 
<font color="blue" face="arial" size="4">Complete File Contents</font> 
<hr> 
<? 
echo $contents; 
?> 

<br><br> 
<font color="blue" face="arial" size="4">Split File Contents</font> 
<hr> 
<? 
foreach ($splitcontents as $color) 
{ 

$counter = $counter+1; 
echo "<b>Split $counter: </b> $colorn<br>"; 
} 

?> 

Wordpress a ce fichier http.php cool. Y a-t-il une meilleure façon de le faire? Si non, comment puis-je utiliser http.php pour cette tâche? Merci les gars ..

Répondre

1

Essayez file_get_contents(), ou la bibliothèque CURL.

Cet article a quelques exemples: Reading a Remote File Using PHP

+0

Merci beaucoup. Remplacé par curl mais aucun contenu n'est affiché. Pourriez-vous s'il vous plaît déboguer ce nouveau code? Merci encore ... – ThinkCode

+0

Mis en œuvre en utilisant Curl. Merci beaucoup! – ThinkCode

+0

Je ne sais pas pourquoi vous n'obtiendrez aucun résultat ... Avez-vous essayé d'obtenir une page comme google? Êtes-vous sûr qu'aucune erreur ne se produit? Vous pouvez vérifier votre journal des erreurs pour vous assurer que CURL fonctionne correctement. –