ホームページ > バックエンド開発 > PHPチュートリアル > URL短縮ツール URL短縮ツール

URL短縮ツール URL短縮ツール

WBOY
リリース: 2016-07-25 09:07:53
オリジナル
1094 人が閲覧しました

これはデータベースを必要としないオンラインコードです。短縮される URL は同じディレクトリ内の txt ファイルに保存されます。
デモ: http://www.ucmbaa.org/u/
1 つ目の目的は URL を短縮することであり、2 つ目は検索エンジンがこのアドレスを認識できないようにすることです。

  1. /*
  2. URLを保存するファイルの場所
  3. */
  4. $file = 'urls.txt';
  5. /*
  6. mod_rewriteを使用: 0 - noまたは1 - はい
  7. */
  8. $use_rewrite = 1;
  9. /*
  10. 言語/スタイル/出力変数
  11. */
  12. $l_url = 'URL';
  13. $l_nourl = 'URL アドレスが入力されていません$l_yoururl = '短縮 URL:';
  14. $l_invalidurl = '無効な URL。';
  15. $l_createurl = '短縮 URL を生成';
  16. ///////////////////// 以下を編集する必要はありません /////////////////// //
  17. if(!is_writable($file) || !is_readable($file))
  18. {
  19. die('ファイルへの書き込みまたは読み取りができません。URL ファイル (urls.txt) をデフォルトで 777 に CHMOD して、確実にアップロードされています。');
  20. }
  21. $action = trim($_GET['id']);
  22. $action = (empty($action) || $action == 'create' : 'リダイレクト';
  23. $valid = "^(https?|ftp)://([a-z0-9+!*(),;?&=$_.-]+(:[a-z0- 9+!*(),;?&=$_.-]+)?@)?[a-z0-9+$_-]+(.[a-z0-9+$_-]+)* (:[0-9]{2,5})?(/([a-z0-9+$_-].?)+)*/?(?[a-z+&$_.-][ a-z0-9;:@/&%=+$_.-]*)?(#[a-z_.-][a-z0-9+$_.-]*)?$";
  24. $output = '';
  25. if($action == 'create')
  26. {
  27. if(isset($_POST['create']))
  28. {
  29. $url = トリム($_POST['url']) ;
  30. if($url == '')
  31. {
  32. $output = $l_nourl;
  33. }
  34. else
  35. {
  36. if(eregi($valid, $url))
  37. {
  38. $fp = fopen($file, 'a');
  39. fwrite($fp, "{$url}rn");
  40. fclose($fp);
  41. $id = count(file($file));
  42. $dir = dirname($_SERVER[ 'PHP_SELF']);
  43. $filename =explode('/', $_SERVER['PHP_SELF']);
  44. $filename = $filename[(count($filename) - 1)];
  45. $shorturl = ($ use_rewrite == 1) "http://{$_SERVER['HTTP_HOST']}{$dir}{$id}" : "http://{$_SERVER['HTTP_HOST']}{$dir}{$ filename}?id={$id}";
  46. $output = "{$l_yoururl} {$shorturl}";
  47. }
  48. else
  49. {
  50. $output = $l_invalidurl;
  51. }
  52. }
  53. }
  54. }
  55. if($action == 'redirect')
  56. {
  57. $urls = file($file);
  58. $id = trim ($_GET['id']) - 1;
  59. if(isset($urls[$id]))
  60. {
  61. header("Location: {$urls[$id]}");
  62. exit;
  63. }
  64. else
  65. {
  66. die('Script error');
  67. }
  68. }
  69. ///////////////////// 以下を自由に編集してください ////// / /////////////
  70. ?>
  71. 短縮 URL サービスを使用すると、長い URL を短縮できるため、ソーシャル ネットワークやソーシャル ネットワークでリンクを共有することが簡単になります。微博。

  72. < p class="response">