我有以下代码:
<script type="text/javascript">
var foo = 'bar';
<?php
file_put_contents('foo.txt', ' + foo + ');
?>
var baz = <?php echo 42; ?>;
alert(baz);
</script>
为什么这不将“ bar”写入我的文本文件,而是发出“ 42”警报?
注意:此问题的早期修订版本明确涉及服务器上的PHP和客户端上的JavaScript。当一种语言在客户端上运行而另一种语言在服务器上运行时,问题和解决方案的本质对于任何一对语言都是相同的(即使它们是相同的语言)。当您看到有关特定语言的答案时,请考虑到这一点。
我将尝试以一种简单的方式进行解释。
客户端是用户看到/编码的内容,在浏览器中可见。
客户端编程包括HTML(HTML,HTML5,DHTML),CSS(CSS,CSS3)和JavaScript(JavaScript,ES5,ES6,ES7,TypeScript,JQuery,ReactJs,AngularJs,BackboneJs或任何其他JavaScript前端框架)。
客户端编程侧重于“页面外观”及其在浏览器中的行为。
服务器端编程包括向客户端提供数据的代码。用户永远无法看到服务器端。
Server Side Programming involves Programming Language(Java, PHP, .Net, C#, C, C++, NodeJS etc), Database(SQL, Oracle, MySql, PostgreySql, No-Sql, MongoDB, etc), Third Party API(Rest, Soap), Business Logic.
Server-Side Programming focus on "how to make data available for Client-Side."
Client-Side request data or request to store data, from Server-side via API provided by Server-Side. This request and response of data are done by following HTTP/FTP protocol like REST API, SOAP API.