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