fonction copy ou move_uploaded_file

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : fonction copy ou move_uploaded_file

Re: fonction copy ou move_uploaded_file

par olivxii » 01 mars 2011, 03:42

en faite je voudrais recuperer le flv du fichier pour le transferer sur mon serveur mais je pense que youtube a modifié ses codes .

Re: fonction copy ou move_uploaded_file

par moogli » 28 févr. 2011, 21:41

salut,

move_uploaded_file sert au déplacement d'un fichier qui à été "uploader" sur le serveur via un formulaire => http://pa2.php.net/manual/fr/features.f ... method.php

Pour ce qui est de copy je ne comprend pas trop la tu veux copier un fichier "des serveurs youtube" sur ton site web ? O_o

je ne suis pas certain du coté "légale" de la chose.
Après effectivement avec copy avec quelques restrictions
5.3.0 Ajout du support du contexte.
4.3.0 Les paramètres source et dest peuvent désormais être des URL si le gestionnaire de fichiers distants a été activé. Voir la fonction fopen() pour plus de détails.
sinon p'tet avec file_get_contents, mais je ne vois pas le point commun avec le lien télécharger ...

@+

fonction copy ou move_uploaded_file

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