par
olivxii » 28 févr. 2011, 15:15
bonjour, je suis toujours avec mon script qui peut me permettre d'uploader un fichier flv sur mon serveur, cependant je bloque sur plusieurs problemes :
1 : utiliser la fonction copy
2 : utiliser move_uploaded_file
3 : recuperer le fichier pour l'envoyer sur le serveur
le code :
<?php
if(isset($_GET['u'])){
$v = urldecode($_GET['u']);
if($_GET['fmt'] == 17){ // 3gp
header("Content-Type: video/3gp");
header("Content-Disposition: attachment; filename=\"video.3gp\"");
$v.="&fmt=17";
}
elseif($_GET['fmt'] == 18){ // mp4
header("Content-Type: video/mp4");
header("Content-Disposition: attachment; filename=\"video.mp4\"");
$v.="&fmt=18";
}
else{ // flv
header("Content-Type: video/x-flv");
header("Content-Disposition: attachment; filename=\"video.flv\"");
}
readfile($v);
flush();
exit();
}else{
$yu = 'http://www.youtube.com/watch?v=qGyfaoUAWtM';
if(isset($_GET["yu"])) $yu = $_GET["yu"];
$c = file_get_contents($yu);
if(preg_match('/"video_id": "(.*?)"/', $c, $m) && preg_match('/"t": "(.*?)"/', $c, $m1)){
$id = $m[1];
$t = $m1[1];
$u = "http://www.youtube.com/get_video?video_id=".$id."&t=".$t;
}
?>
<h1>Youtube Url:</h1>
<form method="get" id="form" onSubmit="<?php echo $_SERVER['PHP_SELF']?>">
<input type="text" name="yu" id="yu" size="80" value="<?php echo $yu ?>"/> <input type="submit" name="b" id="b" value="Load" />
</form>
<h1>Prewiew:</h1>
<img src="http://img.youtube.com/vi/<?php echo $id?>/1.jpg" alt="Preview 1" />
<img src="http://img.youtube.com/vi/<?php echo $id?>/2.jpg" alt="Preview 2" />
<img src="http://img.youtube.com/vi/<?php echo $id?>/3.jpg" alt="Preview 3" />
<h1>Downloads:</h1>
<a href="<?php echo $_SERVER['PHP_SELF'].'?u='.urlencode($u)?>">Download FLV</a><br />
<a href="<?php echo $_SERVER['PHP_SELF'].'?fmt=18&u='.urlencode($u)?>">Download MP4</a><br />
<a href="<?php echo $_SERVER['PHP_SELF'].'?fmt=17&u='.urlencode($u)?>">Download 3GP</a>
<?php
$file = ' ';
$newfile = '/up/'.time().'.flv';
if (!move_uploaded_file($file, $newfile)) {
echo "La copie du fichier $file n'a pas réussi...\n";
}
?>
<?php
}
?>
je ne sait pas quoi mettre dans la partie fichier source : $file
et si je doit utiliser la fonction move_uploaded_file ou copy, le script fonctionne en partie, c'est a dire que quand je place un lien youtube j'ai bien le lien de telechargement mais je voudrais plutot qu'il se telecharge dans le dossier "up" de mon serveur.
merci
bonjour, je suis toujours avec mon script qui peut me permettre d'uploader un fichier flv sur mon serveur, cependant je bloque sur plusieurs problemes :
1 : utiliser la fonction copy
2 : utiliser move_uploaded_file
3 : recuperer le fichier pour l'envoyer sur le serveur
le code :
[php]
<?php
if(isset($_GET['u'])){
$v = urldecode($_GET['u']);
if($_GET['fmt'] == 17){ // 3gp
header("Content-Type: video/3gp");
header("Content-Disposition: attachment; filename=\"video.3gp\"");
$v.="&fmt=17";
}
elseif($_GET['fmt'] == 18){ // mp4
header("Content-Type: video/mp4");
header("Content-Disposition: attachment; filename=\"video.mp4\"");
$v.="&fmt=18";
}
else{ // flv
header("Content-Type: video/x-flv");
header("Content-Disposition: attachment; filename=\"video.flv\"");
}
readfile($v);
flush();
exit();
}else{
$yu = 'http://www.youtube.com/watch?v=qGyfaoUAWtM';
if(isset($_GET["yu"])) $yu = $_GET["yu"];
$c = file_get_contents($yu);
if(preg_match('/"video_id": "(.*?)"/', $c, $m) && preg_match('/"t": "(.*?)"/', $c, $m1)){
$id = $m[1];
$t = $m1[1];
$u = "http://www.youtube.com/get_video?video_id=".$id."&t=".$t;
}
?>
<h1>Youtube Url:</h1>
<form method="get" id="form" onSubmit="<?php echo $_SERVER['PHP_SELF']?>">
<input type="text" name="yu" id="yu" size="80" value="<?php echo $yu ?>"/> <input type="submit" name="b" id="b" value="Load" />
</form>
<h1>Prewiew:</h1>
<img src="http://img.youtube.com/vi/<?php echo $id?>/1.jpg" alt="Preview 1" />
<img src="http://img.youtube.com/vi/<?php echo $id?>/2.jpg" alt="Preview 2" />
<img src="http://img.youtube.com/vi/<?php echo $id?>/3.jpg" alt="Preview 3" />
<h1>Downloads:</h1>
<a href="<?php echo $_SERVER['PHP_SELF'].'?u='.urlencode($u)?>">Download FLV</a><br />
<a href="<?php echo $_SERVER['PHP_SELF'].'?fmt=18&u='.urlencode($u)?>">Download MP4</a><br />
<a href="<?php echo $_SERVER['PHP_SELF'].'?fmt=17&u='.urlencode($u)?>">Download 3GP</a>
<?php
$file = ' ';
$newfile = '/up/'.time().'.flv';
if (!move_uploaded_file($file, $newfile)) {
echo "La copie du fichier $file n'a pas réussi...\n";
}
?>
<?php
}
?>[/php]
je ne sait pas quoi mettre dans la partie fichier source : $file
et si je doit utiliser la fonction move_uploaded_file ou copy, le script fonctionne en partie, c'est a dire que quand je place un lien youtube j'ai bien le lien de telechargement mais je voudrais plutot qu'il se telecharge dans le dossier "up" de mon serveur.
merci