2012-05-04 8 views
-1

私は、長いURLコンバータ関数の短いURLを作成するPHPで適切な方法を見つけることを試みています。PHPの長いURL機能への短いURL?

私は@ yes123がRegex/php code to check if a URL is a short URLの彼の機能の中にあると思っていますが、あまり確かではありません。

+0

Uhm、whoと** **私のコメントはなぜ削除されたのですか? @andrebruton:あなたは特別な質問がありますか?短いURLはただのランダムな文字列で、それ以上のものはありません – zerkms

+0

私は解決策を見つけようとしていません。 http://bit.ly/xyzのような短いURLを入力し、http://www.cnn.com/etcのような長いURLを返す関数が欲しい。 – andrebruton

+0

YQLを見てみよう。 参照:http://stackoverflow.com/questions/1970606/yahoo-pipes-possible-to-retrieve-get-real-url-from-feedproxy-google-com-url –

答えて

0

http://longurl.org/サイトには、アプリから呼び出せるAPIがあります。

+0

興味深いですが...私は単純な関数を使ってこれを行います。 – andrebruton

+1

いいえ、 "単純な関数"では不十分です。すべてのURL短縮サービスにはデータベースがあり、短いURLはそのデータベースのインデックスにすぎません。短いURLサーバーへのHTTPリクエストはデータベースルックアップを行い、リダイレクトでターゲットURLを返します。 –

+0

こんにちはGreg、私は理解していますが、必要なのは、短いURLにフィードする機能です。PHPは$ headers = get_headers($ url、1)のようなヘッダを取得します。私のために長いURLを返します。私がしたいのは、短いURLの代わりに長いURLを表示することだけです。私の側にデータベースの必要はありません... – andrebruton

0

私は自分の問題を解決しました。私はヘッダを読み込んでLocationを返す関数を作成しました。エラーチェックを追加する必要があるかもしれませんが、どのように調査する必要があります。

<?php 
$shortURL = "http://bit.ly/I2ClnP"; 
// Should return http://www.ericvalli.com/index.php?/stories/off-the-grid/ 
echo "Short URL: " . $shortURL . "<br>"; 

echo "Long URL: " . long_url($shortURL) . "<br>"; 

function long_url($url) { 
    $longURL = get_headers($url, 7); 
    return $longURL['Location']; 
} 
?> 

私はstream_context_set_default($options)を試してみました。その機能はすべてのサーバーで機能しているようには見えません。

誰かがエラーチェックの方法に関するアイディアを持っているなら、それは素晴らしいことです。

関連する問題