2015-08-01 2 views
0

я хотел бы создать file.js с PHP, но я думаю, что в моем коде есть много ошибок:Создать и отредактировать файл javascript с помощью "file_put_contents"?

я есть многомерный массив:

$report= array(); 
$report= array(array(3,6),array(4,8)); 

, который:

Array 
(
    [0] => Array 
     (
     [0] => 3 
     [1] => 6 
    ) 

    [1] => Array 
     (
     [0] => 4 
     [1] => 8 
    ) 
) 

Установить тип содержания для JS файла

$header = "Content-type: text/javascript"; 
$dir = "outreport/"; 
$nomefile = "report.js"; 

//delete a file with same name if exists 
foreach (glob($dir."*".$nomefile) as $v){ 
    unlink($v); 
} 

$percorso = $dir.$nomefile; 
file_put_contents($percorso, $report); 
header($header); 
print($report); 

есть два про : проблемы еще

1) при запуске file.php просит меня, чтобы загрузить тот же файл, но в JavaScript

2) в «outvulcani» он создает файл report.js но пуст

I жаль, что в файле «report.js» есть массив $ отчет но написано в JavaScript коде:

var reports = [ 
[3,6] 
[4,8] 
]; 

Пожалуйста, вы можете мне помочь?

Большое спасибо! Извините за мой английский

+0

«при запуске file.php запрашивает загрузку того же файла, но в javascript» - Что вы ожидали от отправки в браузер? – Quentin

+0

«в« outvulcani »он создает файл report.js, но пуст» - я не могу воспроизвести эту проблему, но нигде в вашем коде нет ничего, что могло бы построить список JS, который вы укажете в своем желаемом выходе. – Quentin

+0

@Quentin и как я могу построить список JS в желаемом выходе? вы можете мне помочь ? большое спасибо ! Постскриптум спросите в своем первом вопросе, почему браузер просит меня загрузить файл в js? Я думал, что запуск file.php просто создает папку «report.js» «outvulcani» –

ответ

1

PHP имеет функцию преобразования массивов в JSON. Вы можете использовать этот код для «вдохновения».

$report = array(array(3,6),array(4,8)); 
$javascriptContent = json_encode($report); 

// Convert to string 
$javascriptContent = "var reports = ". $javascriptContent . ";\n"; 
file_put_contents($percorso, $javascriptContent); 

Причина для «загрузки» - это заголовок, пожалуйста, удалите его.

+1

Я использовал ваш код и удалил заголовок, и теперь я не прошу загрузить файл, и есть файл js «report.js». Благодаря ! –

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