アプリケーションでの新規ユーザーの登録には、超長ハッシュを使用します。問題は、これらのハッシュが一部の電子メール クライアントで壊れて、リンクが使用できなくなることです。
Tinyurl - API を簡単な Call で実装してみたのですが、時々タイムアウトしてしまう…と思い、メールがユーザーに届かないことがあります。
コードを更新しましたが、URL が変換されません。Tinyurl は本当に遅いですか、それとも何か間違ったことをしていますか? (つまり、このタイムズでは 5 秒は長い)
より信頼性の高いサービスを勧めてくれる人はいますか?
すべての私のせいで、fopen で false を忘れていました。しかし、私はこのサンプルをよく目にするので、このコードのサンプルをここに残しておきます。
return file_get_contents('http://tinyurl.com/api-create.php?url='.$u);
これは - 完全に機能するサンプルだと思います。改善点についてお聞きしたいです。
static function gettinyurl( $url ) {
$context =
stream_context_create(
array(
'http' => array(
'timeout' => 5 // 5 Seconds should be enough
)
)
);
// get tiny url via api-create.php
$fp = fopen( 'http://tinyurl.com/api-create.php?url='.$url, 'r', $context); // open (read) api-create.php with long url as get parameter
if( $fp ) { // check if open was ok
$tinyurl = fgets( $fp ); // read response
if( $tinyurl && !empty($tinyurl) ) // check if response is ok
$url = $tinyurl; // set response as url
fclose( $fp ); // close connection
}
// return
return $url; // return (tiny) url
}