Youtube Thumbnail Resize and Save

Door Ruben , 14 jaar geleden, 3.996x bekeken

Dit script lijkt erg veel op mijn Image Resize script alleen maakt hij nu een Youtube thumbnail. Wat erg handig kan zijn als je alleen de thumbnail wil laten zien en niet gelijk de hele movie. Hij spreek voor zich. Feedback is zoals altijd welkom.

Author: Ruben Vandenbussche
Website: http://www.RVandenbussche.nl
Contact: info (at) RVandenbussche (dot) nl
Date: 14 Nov 2008
*******************************************
Script: Youtube Thumbnail Resize v1.0
It does:
1. Gets the youtube id.
2. Gets the youtube thumbnail.
3. Resizes the youtube thumbnail.
4. Keep ratio.
5. Make smaller source images bigger.
6. Save the image to the given destination path.

It doesn't:
1. Make directories.
2. Crop.


Summary:
This script is made to get the youtube thumbnail from the embed($src_embed so you can use it yourself. The image is saved with the width ($dst_w) and height ($dst_h) given by the user to the destination path ($dst_path) with the user provided name ($dst_img).

Warning:
The thumbnail image is provided by the youtube image server. If youtube decide to change server or to change the name of the thumbnails. This script will not work anymore. Howevery you only have to change the line: $src_cpl = 'http://s2.ytimg.com/vi/' . $youtube_id . '/default.jpg';

Gesponsorde koppelingen

PHP script bestanden

  1. youtube-thumbnail-resize-and-save

 

Er zijn 3 reacties op 'Youtube thumbnail resize and save'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Johan M
Johan M
14 jaar geleden
 
0 +1 -0 -1
Heej Ruben,

Je gaat voor je plaatjes uit van
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
"http://s2.ytimg.com/vi/' . $youtube_id . '/default.jpg

maar daarmee krijg je maar een klein plaatje dat je vervolgens gaat resizen. Ik denk dat je hierbij beter kan kiezen voor
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
http://s2.ytimg.com/vi/' . $youtube_id . '/0.jpg
waarmee je hetzelfde plaatje krijgt, maar dan standaard al groter. Ikzelf maak overigens meestal gebruik van
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
http://img.youtube.com/vi/' . $youtube_id . '/0.jpg
maar dat is slechts een detail.

Grz. Johan.



// Edit: waarom gebruik je dit als ik vragen mag?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<? # (Deze regel is voor de kleurtjes  :P  )
 
$src_embed = '<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/UqZnB-1SdGM&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/UqZnB-1SdGM&hl=en&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>'; //Youtube embed source

Als ik iets van YouTube gebruik, dan neem ik de URL (zoals "http://nl.youtube.com/watch?v=..."), in plaats van de hele embeded-code. Deze embed-code kan je namelijk met deze URL ook genereren! Let met het "eruit strippen" van je ID wel op de verschillen in de YouTube-URL's, het is nogal variabel of het http://youtube.nl of .com, http://nl.youtube.com of http://www.youtube.com (enz. enz.) is. Ik vind dat je de user-input hierin zo variabel mogelijk moet houden, en dat je ervoor moet zorgen dat je script het allemaal aan kan.

// [i]Edit 2: na testen zie ik dat het op dit moment niet uitmaakt op welke manier de URL [b]in de embeded-code[/b] staat. Dat is positief, nu nog ervoor zorgen dat je alleen de URL hoeft in te vullen...[/i]

// Voorlopig laatste edit: overigens, hoe zit het met dit script op o.a. een Linux-server in verband met rechten, chmodden enz. enz.? Zit daar iets van controle in ofzo of gaat dat meteen werken? En vervolgens, wanneer je plaatje wordt aangemaakt (altijd dezelfde naam, gaat dat elkaar niet overschrijven b.t.w.?), is die dan nog van je server (met FTP) te verwijderen? Ik verwijs hiervoor naar een reactie in een [url=http://www.phphulp.nl/php/scripts/9/668/]ander script[/url] met "dit probleem".


Grz. Johan.
Robert Deiman
Robert Deiman
14 jaar geleden
 
0 +1 -0 -1
En voor dit stukje code zou ik als ik jou was eens naar substr() kijken:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$tmp = explode( 'http://' , $src_embed);


edit:
Ik had niet goed gekeken, de oplossing die hieronder wordt aangedragen helpt je wél verder. Ik meende dat het alleen een url was, had beter moeten kijken.
Richard van Velzen
Richard van Velzen
14 jaar geleden
 
0 +1 -0 -1
Aangezien je een aantal functies gebruikt voor die id, kun je beter een regex gebruiken:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$text
= '<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/UqZnB-1SdGM&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/UqZnB-1SdGM&hl=en&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>';
preg_match('~http://[^/]+/v/([^&/]+)~', $text, $match);
echo $match[1];
?>

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. youtube-thumbnail-resize-and-save

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.