2016-08-26 1 views
0

J'écris un analyseur de réception de vidéo. Je ne peux pas enregistrer la vidéo elle-même dans le dossier souhaité pour moi. Comment réparer, voici le code.Comment enregistrer le fichier téléchargé dans un dossier

foreach ($href as $key => $link) { 
    $doc = file_get_html('https://example.com/'.$link); 
    foreach($doc->find("#video source") as $el) { 
     $video[]="https:".$el->src; 
    } 
} 
//finally I get 
/* array(
    "http:example/video1.mp4", 
    "http:example/video2.mp4", 
    "http:example/video3.mp4") 
*/ 

$dirSubtitles=$_SERVER['DOCUMENT_ROOT'].'/video/'; 
foreach ($video as $key=>$address) { 
    $url = $address; 
    $path = $dirSubtitles; 
    $fp = fopen($path."video".$key, 'w'); 
    $ch = curl_init($url); 
    curl_setopt($ch, CURLOPT_FILE, $fp); 
    $data = curl_exec($ch); 
    curl_close($ch); 
    fclose($fp); 
} 
+1

vous ne faites JAMAIS rien avec '$ data'. vous faites juste une boucle et continuez de l'écraser. Où est votre code d'enregistrement de fichier? –

+0

@MarcB Dans le tableau de la vidéo, j'ai des liens menant à la vidéo.S en utilisant curl, j'essaie de sauvegarder ce qui a été trouvé à l'adresse –

+1

vous n'essayez pas de faire quoi que ce soit. '$ data' serait quelle que soit l'URL que vous avez créée. Si vous voulez que ces données soient sauvegardées, vous devez faire quelque chose pour que ces données soient écrites sur le disque, par ex. file_put_contents() ou autre. –

Répondre