2013-11-20 2 views
0

Вот моя проблема, у меня есть PHP скрипт, который называет яваскриптом скрипта, который запускает CKEditor, богатый текстовый редактор с предустановленным содержанием HTML:PHP: Изменение окружающей среды, где скрипт называется

<?PHP 
$ref = $_GET['req']; 

//~ Launches ckeditor 
$h = "<html><head><script src='ckeditor/ckeditor.js'></script>\n"; 
$h =$h."<link href='sample.css' rel='stylesheet'>\n"; 
$h =$h."<style>\n"; 
$h =$h.".cke_textarea_inline \n"; 
$h =$h."{\n"; 
$h =$h."padding: 10px;\n"; 
$h =$h."height: 500px;\n"; 
$h =$h."overflow: auto;\n"; 
$h =$h."border: 1px solid gray;\n"; 
$h =$h."-webkit-appearance: textfield;\n"; 
$h =$h."}\n"; 
$h =$h."</style></head><body>\n"; 
$h = $h."<div style='position:absolute; left:50px; top:120px; width:1200px; height:600px;'>\n" ; 
$h =$h."<form action='posteddata.php' method='post'>\n"; 
$h =$h."<textarea name='article-body' style='height:600px'>\n"; 

//~ Add a submit button which is irrelevant to my problem 
$f = "</textarea><p><input type='submit' value='Submit'></p></form>\n"; 
$f = $f."<script>CKEDITOR.inline('article-body');</script>\n"; 
$f = $f."</body></html>\n"; 

chdir($ref); 

if(file_exists("System Specification.html")) 
{ 
    $file = fopen("System Specification.html", "r"); 
    print $h; 
    while (!feof($file)) 
    { 
     print fgets($file,4096); 
    } 
    print $f; 
} 
else 
{ 
    echo "Cannot open file"; 
} 

?> 

Проблема в том что в моем HTML файл, я называю некоторые изображения с относительным путем, как

<img src='images/2/1.gif' /> 

изображения папки находятся в моей папке $ реф. Изображения не заряжаются, потому что сценарий не запускается в хорошем каталоге. Я хотел бы заставить сценарий знать, что он изменил свой путь, поэтому он может получить изображения в нужном месте. Я тщетно пробовал. Если я поместил свою папку с изображениями на том же уровне, что и мой php-скрипт, она работает, но я не могу этого сделать (цель этого скрипта заключается в том, чтобы быть в большой базе данных, где arborescence нельзя изменить, и копия быть слишком тяжелым). У кого-то есть решение этой проблемы? Я изо всех сил пытаюсь объяснить это, поэтому, если все еще не очень ясно, вы можете задать несколько вопросов для получения дополнительной информации.

+0

Я думаю, вы пропустили '.' в' $ h = $ h.', это должно быть '$ h. = $ H.'? –

+0

Ну, я не привык к php, но мой код работает и дает то, что я ожидаю, проблема не в синтаксисе. – Toussah

+0

это строка конкатенации –

ответ

1
//~ Launches ckeditor 
     $h = "<html><head><script src='ckeditor/ckeditor.js'></script>\n"; 
     $h.= "<link href='sample.css' rel='stylesheet'>\n"; 
     $h.= "<style>\n"; 
     $h.= ".cke_textarea_inline \n"; 
     $h.= "{\n"; 
     $h.= "padding: 10px;\n"; 
     $h.= "height: 500px;\n"; 
     $h.= "overflow: auto;\n"; 
     $h.= "border: 1px solid gray;\n"; 
     $h.= "-webkit-appearance: textfield;\n"; 
     $h.= "}\n"; 
     $h.= "</style></head><body>\n"; 
     $h.= "<div style='position:absolute; left:50px; top:120px; width:1200px; height:600px;'>\n" ; 
     $h.= "<form action='posteddata.php' method='post'>\n"; 
     $h.= "<textarea name='article-body' style='height:600px'>\n"; 

//~ Add a submit button which is irrelevant to my problem 
$f = "</textarea><p><input type='submit' value='Submit'></p></form>\n"; 
$f = $f."<script>CKEDITOR.inline('article-body');</script>\n"; 
$f = $f."</body></html>\n"; 
+0

Я не знаю, что вы пытаетесь указать, но мне кажется, что мой синтаксис делает то же самое. Во всяком случае, моя точка не была здесь, мой скрипт работает и делает то, что я хочу, чтобы сделать, моя проблема касается только пути среды, где читается html-файл. Я хочу, чтобы он рассматривался в папке $ ref, поэтому он может получить доступ к изображениям в $ ref/images. – Toussah

+4

, так что вы можете попробовать это

Смежные вопросы