2014-01-26 2 views
-2
<?php 
if ($_SERVER['REQUEST_METHOD'] == ‘POST’) 
{ 
$url = (isset($_POST['url']) && !empty($_POST['url'])) ? $_POST['url'] : false; 
if (!$url) { 
echo “Please enter a URL”; 
} else { 
$source = file_get_contents($url); 
$source = urldecode($source); 

// Extract video title. 
$vTitle_results_1 = explode(‘<title>’, $source); 
$vTitle_results_2 = explode(‘</title>’, $vTitle_results_1[1]); 

$title = trim(str_replace(‘ – YouTube’, ”, trim($vTitle_results_2[0]))); 

// Extract video download URL. 
$dURL_results_1 = explode(‘url_encoded_fmt_stream_map”: “url=’, $source); 
$dURL_results_2 = explode(‘\u0026quality’, $dURL_results_1[1]); 

// Force download of video. 
$file = str_replace(‘ ‘, ‘_’, strtolower($title)).’.webm’; 

header(“Cache-Control: public”); 
header(“Content-Description: File Transfer”); 
header(“Content-Disposition: attachment; filename=$file”); 
header(“Content-Type: video/webm”); 
header(“Content-Transfer-Encoding: binary”); 

readfile($dURL_results_2[0]); 

exit; 
} 
} 
?> 
<form method=”post”> 
<label for=”url”>URL:</label> 
<input type=”text” name=”url” value=”" id=”url”> 
<input type=”submit” name=”submit” value=”Download”> 
</form> 

Когда я загрузить его я получаю следующее сообщение об ошибке: парсингаКак исправить ошибку синтаксиса «неожиданную„введите“(T_STRING) ошибки синтаксиса, ожидающей„“»

syntax error, unexpected 'enter' (T_STRING), expecting ',' or ';' in ... on line 6

я не могу исправить эту ошибку. Может кто-нибудь помочь мне, как это исправить?

+1

Простой. Измените все свои умные/фигурные кавычки на обычные. '' '' '' '' и '' '' '' '' '' ', но эта строка '' url_encoded_fmt_stream_map': 'url =', $ source' со смесью синглов/double должна быть выполнена правильно. ставя «ответ» на этот вопрос. Тот, кто хочет «пойти» на это, я желаю ему удачи ;-). Будем надеяться, что вы не попадете в эту пресловутую «Can of Worms». –

+1

Цитаты на '' Пожалуйста, введите URL-адрес "' не являются правильными двойными кавычками, а скорее какой-то курчавой цитатой. Измените их на '" Пожалуйста, введите URL-адрес ", а затем измените все остальные. Будьте осторожны, когда код копирования/вставки кода из другого веб-источников или редактирования кода в текстовом редакторе, не предназначенном для кода, так как это общий результат. –

+0

Рекомендуется использовать текстовый редактор, имеющий хорошую поддержку подсветки синтаксиса PHP. Все эти строки с неверным цитированием будут отображаться с подсветкой ошибки или по крайней мере, неправильный цвет для цитируемых строк. –

ответ

0
<?php 
if ($_SERVER['REQUEST_METHOD'] == 'POST') 
{ 
    $url = (isset($_POST['url']) && !empty($_POST['url'])) ? $_POST['url'] : false; 

    if (!$url) { 
     echo "Please enter a URL"; 
    } else { 
     $source = file_get_contents($url); 
     $source = urldecode($source); 

     // Extract video title. 
     $vTitle_results_1 = explode('<title>', $source); 
     $vTitle_results_2 = explode('</title>', $vTitle_results_1[1]); 

     $title = trim(str_replace(' – YouTube', '', trim($vTitle_results_2[0]))); 

     // Extract video download URL. 
     $dURL_results_1 = explode('url_encoded_fmt_stream_map": "url=', $source); 
     $dURL_results_2 = explode('\u0026quality', $dURL_results_1[1]); 

     // Force download of video. 
     $file = str_replace(' ', '_', strtolower($title)).'.webm'; 

     header("Cache-Control: public"); 
     header("Content-Description: File Transfer"); 
     header("Content-Disposition: attachment; filename=$file"); 
     header("Content-Type: video/webm"); 
     header("Content-Transfer-Encoding: binary"); 

     readfile($dURL_results_2[0]); 

     exit; 
    } 
} 
?> 
<form method="post"> 
    <label for="url">URL:</label> <input type="text" name="url" value="" 
     id="url"> <input type="submit" name="submit" value="Download"> 
</form>