begin process at 2012 05 27 19:41:31
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Astuces

 > CREATED SOME TINY URL

CREATED SOME TINY URL


 Information sur la source

Note :
3 / 10 - par 1 personne
3,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Astuces Classé sous :tiny, url, mini, php, facile Niveau :Débutant Date de création :12/06/2011 Date de mise à jour :12/06/2011 00:19:34 Vu / téléchargé :2 687 / 65

Auteur : ledamss

Ecrire un message privé
Commentaire sur cette source (20)
Ajouter un commentaire et/ou une note

 Description

Voici une petit bout de code pour convertir une longue url en mini url.
Ce code permet:
- de créer des minis urls

L'accès à l'API se fait par requête.

Dans les jours à venir l'api sera disponible pour d'autres languages très prochainement en PERL,


Ce code se trouve aussi sur notre site: http://u-shox.com/url

un grand merci.

Source

  • <?php
  • # #######################################################
  • # # SCRIPT DE TINY URL #
  • # # LONG URL >> TINY URL #
  • # # #
  • # # Exemple: http://www.phpcs.com/codes/CONVERTIR-LONG-URL
  • # # http://u-shox.com/l/24ddf
  • # # #
  • # # original: le 05/10/2009 par U-shox #
  • # # (webmaster@u-shox.com) #
  • # # adaptation le 10/06/2011 par U-shox #
  • # #######################################################
  • # //source: http://u-shox.com/url
  • function tiny_link($url){
  • $url = urlencode($url);
  • $key = ""; //Votre clé secrète pour reconnaître vos liens.
  • $api_url = "http://www.u-shox.com/";
  • $api_uri = "api/add_link.php?url=$url";
  • if(!empty($key))
  • $api_key="&key=$key";
  • $result = file_get_contents($api_url.$api_uri.$api_key);
  • return $result; //Retourne l'url racourcie ou rien en cas d'erreur.
  • }
  • echo tiny_link("http://www.u-shox.com/");
  • ?>
<?php
	# #######################################################
	# # SCRIPT DE TINY URL #
	# # LONG URL >> TINY URL #
	# # #
	# # Exemple: 	http://www.phpcs.com/codes/CONVERTIR-LONG-URL
	# #		http://u-shox.com/l/24ddf
	# # #
	# # original: le 05/10/2009 par U-shox #
	# # (webmaster@u-shox.com) #
	# # adaptation le 10/06/2011 par U-shox #
	# #######################################################
	# //source: http://u-shox.com/url

	function tiny_link($url){
		$url = urlencode($url);
		$key = ""; //Votre clé secrète pour reconnaître vos liens.

		$api_url = "http://www.u-shox.com/";
		$api_uri = "api/add_link.php?url=$url";
		if(!empty($key))
		    $api_key="&key=$key";

		$result = file_get_contents($api_url.$api_uri.$api_key);

		return $result; //Retourne l'url racourcie ou rien en cas d'erreur.
	}
	echo tiny_link("http://www.u-shox.com/");
?>


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

12 juin 2011 00:19:34 :
Infos supplémentaires

 Sources de la même categorie

AFFICHÉ SUR UN TABLEAU AVEC PAGINATION ET BASE DE DONNÉES par stormxp
Source avec Zip Source avec une capture GENERATEUR D'ONGLET DE NAVIGATION PHP par pos123
FORMATER UN LIEN YOUTUBE, DAILYMOTION OU VIMEO POUR L'UTILIS... par kgb93
Source avec Zip Source avec une capture PAGINATION + FICHIER CSS par profdi
Source avec Zip Source avec une capture SYSTEME D'AUTHENTIFICATION PHP AVEC PROTÉCTION KEYLOGGER par mtrix000

 Sources en rapport avec celle ci

AFFICHÉ SUR UN TABLEAU AVEC PAGINATION ET BASE DE DONNÉES par stormxp
VÉRIFICATION DES URL VALIDE AVEC PHP par dilar
Source avec Zip Source avec une capture BLOG COMPLET : NEWS, IMAGES, COMS. SIMPLE D'UTILISATION ET D... par lucas34990
FONCTION GET EN PHP : RECUPERER UNE PAGE SUR UN SITE DISTANT par nax333
ATOMIK FRAMEWORK par devmax

Commentaires et avis

Commentaire de fenoril le 12/06/2011 01:27:06

Salut !

Je n'ai pas trouvé sur votre site ni ici la réponse à des questions qui me sont venues en étudiant votre code, pourriez-vous me renseigner ? (ne vous formalisez pas du côté brut de mes questions, c'est dit sans agressivité aucune)

1. Ca sert à quoi ?
2. (peut-être inutile), peut-on exprimer ("lire") en tant que développeur les url tiny obtenues, ou est-ce un code variable ? (par exemple du fait de connaitre la clé "secrète")
3. La clé personnelle influence quoi dans les urls créées ?
4. Y-a-t-il un décodeur inverse ou prévoyez-vous une autre façon de se servir des tiny url ?

Je sais que pour les trois dernières je pourrais faire des tests, mais je n'en vois pas l'utilité tant que je n'aurais pas compris l'intérêt du code de base.

Cordialement,

Commentaire de ledamss le 12/06/2011 14:33:30

Bonjour,

En réponse à vos questions...

1. Cette API sert à créer des minis urls, remplacer une longue url en mini url comme "http://www.phpcs.com/code.aspx?ID=53273" >> "http://u-shox.com/l/sgd43"
2. La clé secrete, vous l'obtenez en vous inscrivant sur notre site internet http://www.u-shox.com/register
3. La clé secret permet de reconnaître votre lien, comme ça, vous pouvez voir le nombre de fois que votre lien à été visité.
4. (Je ne comprends pas fort bien votre question, avez-vous un exemple ou autre ? ).

Bonne journée :-)

Commentaire de fenoril le 12/06/2011 19:06:19

J'ai fini par avoir une idée de la signification de tout ça, mais ça ne lève pas mes incompréhensions :

Votre site permet d'être référencé, dans cette optique, les liens qui seront présents dans la liste seront codés pour éviter/permettre...

Là je sèche sur l'intéret. Car le comptage de clic ça se fait assez simplement pour pas coder les urls.
Ou alors, ces tiny url sont destinées à être déposées sur mon site pour pointer vers la liste de référence, et donc c'est un moyen de savoir d'où proviennent les visiteurs ? Quel est donc l'intérêt d'un site de référence(ment) où ce sont les sites qui doivent venir s'inscrire par rapport à un référencement chez les moteurs de recherche ? Y'à un intéret pour les webmasters ?

Au passage, le seul message du forum a un titre codé, un utilisateur codé, c'est pas très engageant...

Toujours sans animosité,
Stef

Commentaire de stay le 13/06/2011 12:20:30

Bonjour à tous,

Si je peux me permettre, mini URL ne veut rien dire.
Mais, réécriture de l'URL serait plus approprié (on parle de référencement).

Pour le flux des passages sur le site, Google Analytic offre déjà ce service qui est utilisé par des professionnelles.

De plus, pour éviter certaines contraintes (être inscrit sur ta base de données) et d'être mal référencer sur les moteurs de recherche.
Car, les liens (URL) doivent être visibles pour les moteurs de recherche "rien de secret".

Exemple :
http://domaine.com/test/index.php?url=created-some-tiny-url
en
http://domaine.com/created-some-tiny-url.html

Solution (sur un serveur Apache) :
Il faut créer un fichier .htaccess dans le dossier root du site web.
Vérifier sur le serveur Apache de dé-commenter ceci : LoadModule rewrite_module modules/mod_rewrite.so dans le fichier httpd.conf
Avec ceci le serveur pourra réécrire les URL.
Voici le code à insérer dans le fichier .htaccess :

# Le serveur doit suivre les liens symboliques :
Options +FollowSymlinks

# Activation du module de réécriture d'URL :
RewriteEngine on

#--------------------------------------------------
# Règles de réécriture d'URL :
#--------------------------------------------------

RewriteRule ^([a-z0-9_-]+)\.html$   /test/index.php?url=$1 [L]

Commentaire de fenoril le 13/06/2011 22:06:43

Grâce au mp, je comprends mieux. C'est donc bien l'explication : rewrite+"google analitycs" light.

En ce qui me concerne, la solution pose deux problèmes :
1. google analytics fait tout plein de stats intéressantes, pas seulement les clics et c'est très facile à installer (même mopi j'ai réussi... ;D)
2. La réécriture a un intérêt non négligeable de pouvoir créer un fil d'ariane virtuel. Le codage illisible des liens n'apporte donc rien de ce point de vue. Le raccourcissement choisi permet un référencement correct par contre, car les principaux moteurs se fichent de l'extension (.html, .aspx etc...).

Au final, le fait de faire remarquer qu'on peut interroger un serveur distant via file_get_content peut être intérressant pour un débutant, pour le reste je ne vois pas d'intéret.

Soit dit sans animosité.

P.S. @STAY: Pour la réécriture d'url pour un débutant, mieux vaut passer par des tutos bien complets (en l'état un débutant ne peut savoir ce que donnera ton code, en plus par copier coller ça marchera pas, etc...).

Amicalement, amis qui cherchez à nous aider à progresser,
stef, amateur et éternel débutant.

Commentaire de stay le 14/06/2011 11:22:17

Bonjour Fenoril,

Il est sur qu'un tutoriel, pour installer un plu-gin important sur Drupal, ou comment fonctionne un Framework, ok, c'est nécessaire.

Mais là, il suffit de lire entre les lignes.

Exemple :
http://localhost/test/index.php?url=created-some-tiny-url
en
http://localhost/created-some-tiny-url.html

Sur la première URL, on peut noter que index.php se trouve dans le dossier test.
Donc, après avoir créer un dossier test et crée un fichier index.php, tu y crée un fichier .htaccess dans ce même dossier (dossier root).
Tu copies/colles le contenu que je propose dans le fichier .htaccess.

Et tu testes la deuxièmes URL : http://localhost/created-some-tiny-url.html

Pour la config Apache, tu fais une recherche dans ton poste de travail du fichier httpd.conf.

Tout était noté correctement dans mon précédent commentaire, sans les formules de je te prends la main.

De plus, tu aurais du trouvé l'information uniquement avec un seul mot, htaccess.
Avec du bon sens, on retrouve les réponses sur les sites officiels ou ailleurs.
Les tutoriel sont destiné au néophytes pour les gros projet, exemple : plu-gin, Wordpress, Smarty ou Zend Framework.
Pour un .htaccess une petite recherche sur Google : http://fr.wikipedia.org/wiki/Htaccess

C'est pas contre toi, c'est juste du bon sens (efficace et rapide = orienter résultat).

Commentaire de fenoril le 14/06/2011 13:02:22

@stay : J'ai mis en route une réécriture sur mon mon iste, merci de tes explications... ;D

Le code initial est destiné à des débutant, et comme en tant que débutant je me suis mis à la réécriture, je ne faisais qu'ajouter mon point de vue : trois lignes de code et hop, un débutant n'a rien compris de plus que "l'url rewriting" doit être fait sur chaque site, Ce sur quoi je suis d'accord. Et au fait, regardes simplement ton exemple d'url et le regexp que tu as utilisé, tu verras qu'ils ne permettent d'avoir qu'un seul dossier : test. Donc oui ce n'est qu'une ébauche, c'est bien ce qui me gène. autant aller voir sur le site du zérO ou développez.com, leurs tutos sont très bien et complet, sans forcément prendre par la main, mais les sources et les liens y sont.

J'arrètes là de polluer les commentaires, la suite par MP, et s'il te plait pas de condescendance, c'est pas j'avais pas compris... Ne pas être d'accord n'est pas une tare...

Toutes mes excuses ledamss d'avoir floodé, promis c'est la dernière fois.

Commentaire de stay le 14/06/2011 14:29:14

No problèmo, le petit Lead Developer que je suis n'a pas la prétention de vouloir t'apprendre quelque chose.
Et franchement, tu t'excuse chez une personne qui espère faire de l'audience avec ça petite astuce.
Tu n'a rien compris à mon premier commentaire (tu devrais te remettre en question), qui était justement de faire comprendre aux débutants de ne pas ce laissé berné par ce-là. Et franchement (et s'il te plait pas de condescendance) mdr.

Commentaire de stay le 14/06/2011 14:34:36

PS: La source proposé par ledamss est lier à la réécriture de l'URL et un des services proposé par Google Analitycs.
Dommage, @fenoril tu as cassé la conversation avec tes idées.

Commentaire de ledamss le 14/06/2011 21:51:03

Le but de mon API n'est pas de faire une réécriture d'url, mais de masquer une url sortante par exemple et de passé par mon site par le biais de cette mini-url de façon à comptabilisé le nombre de clics et enregistrer les visiteurs.

Commentaire de stay le 15/06/2011 00:54:47

Tu es persuadé d'avoir crée un api utile pour les utilisateurs ?

Si, tu ne termines pas ta phrase.
Tu as dis : Le but de mon API n'est pas de faire une réécriture d'url, mais de masquer une url sortante pour ?
Pour par exemple ? ça veut rien dire.
Et pour quel genre d'application ?

Mois je vais répondre pour toi !

Imaginons, si j'ai 35 URL à masqué, chaque URL dois passé par ton site ?
Lol, le ranking de ton site aura le niveau 10 en un mois si tout le monde adhère à ton service.
Explication : http://www.monsieur-referencement.com/formation-consulting-conseils/comment-augmenter-son-page-rank_ameliorer-la-popularirte-d-un-site.php

Franchement mon pote, arrête de prendre les gens pour des c..s, mais lol quoi !
Je t'ai vu arriver depuis mon premier post.

Et si tu ne le fais pas exprès, alors termine ta phrase.

Commentaire de lbasic le 20/06/2011 10:22:11

Bonjour à tous,
pour ma part, et bien que je ne les utilise pas, Les tiny url sont parfois intéressantes lorsqu'on veut mettre un lien cours sur un site ou un forum.

Ce qui me gène le plus dans ton code, c'est le fait de devoir passer par ton serveur. Cela nous rends totalement dépendant de tes projets futurs en ce qui concerne cette API. Et quand on voit que des Mastodontes comme Google n'hésitent pas a arrêter certaines de leurs API phare (voir google Translate), j'aurais préféré te voir mettre en ligne le code source de l'API.

Cela aurait permis à chacun de rester totalement indépendant.

En réalité, tu ne fais que te servir de phpcs.com pour te faire un peu de pub. Et je trouve cela dommage. D'autant plus que le code en question reste relativement simple :

- Une base de donnée comprenant 4 champs
...- index
...- tiny_url
...- long_url
...- compteur

- un fichier .php pour inscrire une url dans la base
- un fichier htaccess de rewrite qui redirige les tiny_url entrante vers un fichier .php
- un fichier .php qui interroge la base et redirige a nouveau le visiteur vers la long_url en incrémentant le compteur au passage.

Cela reste mon avis, mais sache que je n'utiliserais pas un service dont je ne sais pas s'il existera toujours dans 1 mois, 6 mois, un an...

Cordialement,

Pascal

Commentaire de stay le 20/06/2011 14:55:37

Fait attention à ce que tu expliques, tu risques une attaque de novices.

- Une base de donnée comprenant 4 champs
...- index
...- tiny_url
...- long_url
...- compteur

- un fichier .php pour inscrire une url dans la base
- un fichier htaccess de rewrite qui redirige les tiny_url entrante vers un fichier .php
- un fichier .php qui interroge la base et redirige a nouveau le visiteur vers la long_url en incrémentant le compteur au passage.

Je crois que fenoril te dirait :
@fenoril : en l'état un débutant ne peut savoir ce que donnera ton code.
------------

Alors que tout comme moi, tu fais passé une idée que tout le monde peut creuser.

Commentaire de lbasic le 20/06/2011 17:50:17

@Stay,

A pas peur des novices... On l'a tous été un jour. Et des fois je me demande si je le suis pas resté ?!
MDR.

J'ai hate de lire ce que fenoril en pense, et ledamss aussi, bien évidement.

@++

Commentaire de ledamss le 20/06/2011 19:39:51

Au départ, mon but était de mettre à disposition un systeme système de "Tyni url"="Mini-url" qui en somme consistait:

-Echanger une longue url en une un peu plus compact,
-Comptabilisé les clics (qui? , quand? et de ou?).

Mais je vois que ca ne fait l'unanimité, tampis. :-)

La page original: http://u-shox.com/url

Commentaire de lbasic le 21/06/2011 10:17:55

@LEDAMSS,

Tu ne semble pas vouloir comprendre ce qui nous pose problème dans ta démarche.
Le site phpcs.com est un site de partage de codes sources, et ce n'est pas ce que tu propose. Je pense que si tu déposais le code source utilisé coté serveur afin que chacun puisse héberger son propre "réducteur de longueur de lien", tu obtiendrais un succès bien plus grand.

Tu ne semble pas vouloir le partager, tampis. :-)

Nos remarques concernant le fait de devoir passer par toi (ton serveur) pour obtenir ce service sont pertinentes et semble l'avoir compris puisque tu ne prends pas la peine d'y répondre.

Enfin, utiliser phpcs.com pour faire la pub de ton service est inapproprié, raison pour laquelle je prends la peine de t'expliquer tout cela.

@++

Commentaire de arthur448 le 24/06/2011 15:41:12 3/10

je met un 3/10 car tu ne donne pas grand choses. Un Api et tu insite a aller sur un lien alors que ses interdit.Donne la source comme tu a fait pour arrivé a réecrire les url par un petit pauvre Api et une monstreue Pub pour un site
bye

Commentaire de ledamss le 24/06/2011 20:02:51

Le scripts c'est simple, c'est comme le disait STAY,la base est une simple requête SQL, j'ajoute une longue url et sa réduction dans ma base, je trouve la réduction avec la function hash(crypt,value); de php:
<?php echo hash('crc32','{URL}'); ?>

Maintenant, je ne savais pas qu!insiter à aller sur un lien était interdit, parce qu'on le voit partout.

Je n'avais pas un mauvais esprit en ajoutant mon API sur CS.

Désolé.

Commentaire de zave le 29/06/2011 22:46:24

Voir comment tu réduis les url aurait été intéréssant et formateur, ne donner qu'une API, pour utiliser un service externe, c'est de la pub et ça va à l'encontre du principe de code source, de partager du code, toi tu ne partages qu'une API propriétaire, bref on apprends rien, puisque ton API ne fonctionne que chez toi. Tu fermes pour une raison ou une autre est tout ça devient useless

Commentaire de winwarrior le 30/06/2011 09:44:55

Hello

Pour la petite histoire en réponse au commentaire de Stay :
"Imaginons, si j'ai 35 URL à masqué, chaque URL dois passé par ton site ?
Lol, le ranking de ton site aura le niveau 10 en un mois si tout le monde adhère à ton service. "

En fait (actuellement), quand on créé une url sur u-shox, cela créé bêtement une redirection 301, et lors d'une redirection 301, le poids de la page est sur la page redirigée, pas celle qui redirige.
Par contre rien n'empêche le créateur de l'api de changer du jour au lendemain le mode de redirection pour filouter son référencement ;)

Sinon, concernant la source, il ne manquerait pas juste un . devant le = de la ligne 20 (et ligne 22 ?) pour que le script fonctionne ? :)

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Lire un argument passe dans l'URL [ par oamram ] Bonjour,Je debute en PHP et j'ai un problème lorsque je veux récupérer une variable passée en argument dans l'URL.Mon prg test est suivant :&lt;?phpec Ou apprendre le php ???? [ par aftag ] Sltje voudrais apprendre le phpKel livre me conseillés vous et ou puis je trouver un bon tutorial sur le web afin d'apprendre très viteEt mon but est Un chat en PHP [ par slhuilli ] Bonjour,Qui aurait une source pHP simple a configurer s'un systeme de chat pour mettre sur mmon site perso ?MerciSébastien LHUILLIERsebastien.lhuillie Peut on avec le PHP creer des programmes ? [ par SkyCrasher ] Est-ce qu'on peut en PHP creer des programmes (comme des .exe) mais l'atout serait une utilisation online ?On peut creer ça en php ? _________________ Facile pour des phpmen comme vous !! [ par lebobby ] Salut les jeunes,je voudrais si c'est possible de fairedans une page php reference a une sectiond'une autre page phpc'est a dire si dans a.phpj'ai un Facile pour des phpmen comme vous !! [ par lebobby ] Salut les jeunes,je voudrais si c'est possible de fairedans une page php reference a une sectiond'une autre page phpc'est a dire si dans a.phpj'ai un Facile pour des phpmen comme vous !! [ par lebobby ] Salut les jeunes,je voudrais si c'est possible de fairedans une page php reference a une sectiond'une autre page phpc'est a dire si dans a.phpj'ai un Pb de passage de variables aux pages php [ par PsychoPat ] Bonjour, je viens d'installer sur ma passerelle Linux un serveur Apache/PHP/MySQL. Après 2 jours de galère le voilà enfin qui marche. Mais il y a un p Problème URL [ par turlut ] bonjour tout le monde !Enfait mon problème est que j'aimerais bien réalisé un petit programme en php qui me permeterait de taper dans l'url d'un site Problème URL [ par turlut ] bonjour tout le monde !Enfait mon problème est que j'aimerais bien réalisé un petit programme en php qui me permeterait de taper dans l'url d'un site


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,593 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales