Hallo ik heb effe snel een scriptje gemaakt om de FLV url te verkrijge van de feeds van dailymotion.

Ik krijg aleen iederekeer de error pagina van dailymotion.

Als je handmatig naar http://www.dailymotion.com/rss/video/x44ls3 gaat, en
opent de broncode dan vind je de FLV url.
Als je die url kopierd en de url opend krijg je de FLV file.

Alleen nou geeft mijn script ook wel die url alleen als je de url opent
krijg je de error pagina.

hier onder mijn script:

<?php
$id = $_GET['id'];

$url = @file_get_contents('http://www.dailymotion.com/rss/video/'.$id);

preg_match('/dailymotion\.com\/get\/(.*?)\/80x60\/flv\/(.*?)\.flv\?key\=(.*?)\.flv/', $url, $match);

$file1 = 'http://dailymotion.com/get/'.$match[1].'/80x60/flv/'.$match[2].'.flv?key='.$match[3].'.flv';

//header("Location: ".urldecode($file1)); open download schermpje

echo $file1;
?>


Kan het an de file_get_contents() ligen.
De @ onderdrukt foutmeldingen.
Daarnaast controleer je helemaal niet of $_GET['id'] bestaat en wat erin zit.

<?php
ini_set('display_errors', 1);
ini_set('error_reporting', E_ALL);

$id = (isset($_GET['id']) && ctype_alnum($_GET['id'])) : $_GET['id'] : null;
if(null !== $id){
$content = file_get_contents('http://www.dailymotion.com/rss/video/'.$id);
echo 'RSS content: '.$content.'<br />'.PHP_EOL;
}
else{
echo 'geen of ongeldige id!<br />'.PHP_EOL;
}
?>

Wil je nog wel even wijzen op het feit dat je content aan het stelen bent waarmee je waarschijnlijk copyright wetgevingen aan het schenden bent.

EDIT, niet waar het gaat om RSS feed. My Bad.
RSS kan je beter parsen met SimpleXML overigens.

Zou je de volgende keer een duidelijkere titel willen bedenken, zodat wij aan de titel al kunnen zien waar het probleem over gaat, of mee te maken heeft.

Netzoals Lode al zegt is het niet mooi en juist om een @ voor file_get_contents te zetten.

En welke error wordt er weergegeven?
ten eerste het is alleen een simple versie het gaat er allen om waarom

de url die dit script geeft niet werkt maar wel als je hem zelf hand matig uit de RRS feed haalt doet hij het wel.

Terwijl de url het zelfde is op de key na dan.
@offtopic: Cool :D beginners & regular expressions!!

@ontopic: var_dump($var_name);
Misschien blokkeren ze gewoon file_get_contents()?
Als er geen user-agent is (oid) geven ze gewoon een fout-pagina. Lekker makkelijk.
kan ik een fake user-agent geven of iets anders
Met CURL kan je een agent meegeven, zelfs cookies/sessies... maar hoe dat met file_get_contents zit... ik betwijfel het.
okay waar vind ik dan een simple CURL utleg
joey schreef op 06.01.2009 17:27
okay waar vind ik dan een simple CURL utleg
Misschien is het handig om eerst even te kijken of die file_get_contents() echt niet werkt voordat je over alternatieven gaat nadenken?

Ik heb het hier lokaal net even geprobeerd, en ik krijg gewoon de inhoud van die rss feed te zien als ik file_get_contents met de url uit jouw eerste post gebruik.

ps. Zo dus:
<?php
echo htmlentities(file_get_contents('http://www.dailymotion.com/rss/video/x44ls3';));
?>
Ja weet ik maar het werkt en krijg ook wel gewoon wat ik moet heben.
Maar zo als Arjan Kapteijn al zei ze controlere op user-adres, je krijgt nog steeds een url terug aleen werkt die niet .

Reageren