Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何从共享服务器中包括tinymce_Php - Fatal编程技术网

Php 如何从共享服务器中包括tinymce

Php 如何从共享服务器中包括tinymce,php,Php,我使用这个简单的PHP脚本获取共享资源,在这个例子中是tiny_mce。如何扩展此脚本,使其在从共享资源获取文件之前先检查本地副本是否存在 <?php $request = $_SERVER['QUERY_STRING']; $url = 'http://shared.domain.co.uk/javascript/' . $request; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch,

我使用这个简单的PHP脚本获取共享资源,在这个例子中是tiny_mce。如何扩展此脚本,使其在从共享资源获取文件之前先检查本地副本是否存在

<?php
$request = $_SERVER['QUERY_STRING'];
$url = 'http://shared.domain.co.uk/javascript/' . $request;

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($ch);
curl_close($ch);

$headers = substr($data, 0, strpos($data, "\r\n\r\n"));
$headers = preg_split('/\n|\r\n?/', $headers);
foreach($headers as $header)
    if(strpos($header, 'Content-') !== false)
        header($header);
$data = substr($data,strpos($data, "\r\n\r\n")+4);
print $data;
?>

我知道这是有原因的,尽管它确实运行得很慢

t分为两个位置,例如:

Localhost

  • /www/javascript/resources/tiny_mce
共享子域

  • /var/www/domain.co.uk/subdomains/shared/public/javascript/resources/tiny_mce
.php 每个使用tinymce的项目都包含一个小php脚本,例如:“domain.co.uk/webapp/shared/javascript/resources/tiny_mce/jquery.tinymce.js”


如果您有依赖于是否是开发的变量路径,那么为什么不使用包含基本路径的变量呢

if($is_development){
    $base = 'http://localhost/js/';
}else{
    $base = 'http://domain.com/js/'
}

<script src="<?=$base;?>tinymce.js"></a>
if($is\u开发){
$base='1http://localhost/js/';
}否则{
$base='1http://domain.com/js/'
}

我很困惑。您是否使用php下载TinyMCE的javascript副本,然后将其转储到页面?为什么不使用
老实说,我不记得我们为什么用这种方式,但有一个很好的理由,我想你会发现,没有一个很好的理由。主要原因是,像tinymce这样的资源可以从外部域中包含,因为它很少发生变化。所以你可以从我的回答中看到,通过curl包含它的主要优点是,它甚至可以在没有互联网的情况下工作environment@JohnMagnolia-那没有道理。要做到这一点,您应该通过本地或网络共享服务器上的脚本标记将其包括在内。不敢相信他们会选择此选项而不是我的答案:),因为您的简单答案在不同的域上不适用于TinyMCE。
RewriteEngine On

RewriteRule (.*) index.php?%{QUERY_STRING}
if($is_development){
    $base = 'http://localhost/js/';
}else{
    $base = 'http://domain.com/js/'
}

<script src="<?=$base;?>tinymce.js"></a>