2014-11-20 3 views
0

Вот что я пытаюсь сделать. В моем файле file.php есть функция, которая загружает внешний файл. Я хочу добавить идентификатор пользователя в URL. Этот скрипт загружает содержимое файла:Передача переменной во внешний файл

public function setExternalSolutionScriptsToBuffer() { 
    // Get dictionary 
    $externalSolutions = file_get_contents($this->getExternalTargetingSolutionsJsUrl()); 

    // Composer the ouput buffer 
    $this->outputBuffer .= "\n"; 
    $this->outputBuffer .= $externalSolutions; 
    $this->outputBuffer .= "\n"; 
} 

Существует также функция для ID:

public function setExposureOfUserIdScriptToBuffer() { 
    $user_id = $this->visitor->getOnlineId(); 
} 

Что мне нужно, чтобы передать эту переменную во внешний файл, и прикрепить его к конец Src URL этого сценария:

(function() { 
    if (location.protocol.substr(0,5)==='http:') { 
     try { 
      (function() { 
       var d = document; 
       var e = d.createElement('script'); 
       e.type = 'text/javascript'; 
       e.src = 'http://example.com/some.js?uid=' + ***user_id***; 
       e.async = true; 
       (d.head || d.body || d.firstChild).appendChild(e); 
      })(); 
     } catch (e) {} 
    } 
})(); 

Так переменная будет добавлена ​​к URL и SRC будет выглядеть как «http://example.com/some.js?uid=4234234324»

+0

ах ожидания missunderstood - как о '' file_get_contents' и str_replace' на '*** user_id ***' – birdspider

+0

Можете ли вы дать пример того, что вы имеете в виду для меня, чтобы иметь лучшее уродство? – Pandemum

ответ

0

быстро и грязно - при условии, что $ externalSolutions является ГКЗ JS

$userID = 1234; 
$externalSolutions = file_get_contents(..js-file..); 
$externalSolutions = str_replace('***user_id***', $userID, $externalSolutions); 
echo "<script>\n",$externalSolutions,"\n</script>\n"; 
Смежные вопросы