мы используем супердлинные хэши для регистрации новых пользователей в нашем приложении. Проблема в том, что эти хеши взламываются на некоторых почтовых клиентах, что делает ссылки непригодными для использования.
Я пытался реализовать Tinyurl - API с помощью простого Call, но иногда мне кажется, что время ожидания истекло ... иногда почта не доходит до пользователя.
Я обновил код, но теперь URL никогда не конвертируется. Тинюрл действительно такой медленный или я делаю что-то не так? (Я имею в виду, эй, 5 секунд много в это время)
Кто-нибудь может порекомендовать мне более надежный сервис?
Вся моя вина, забыл ложь в fopen. Но я оставлю этот пример кода здесь, потому что я часто вижу этот пример, который, я думаю, не работает очень надежно:
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
}