小编sou*_*rge的帖子

如何保持PHP'View Source'html输出干净

在检查网站上的源代码后,这一直困扰着我.我在模板中使用PHP输出来获取动态内容.模板仅以html开头,并且干净地缩进和格式化.然后添加PHP内容并缩进以匹配html格式.

<ul>
  <li>nav1</li>
  <li>nav2</li>
  <li>nav3</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

变为:

<ul>
  <?php foreach($navitems as $nav):?>
  <li><?=$nav?></li>
  <?php endforeach; ?>
</ul>
Run Code Online (Sandbox Code Playgroud)

当在html中输出时,封装的PHP行被删除但是用于格式化它们的空白空间被保留并且抛出视图源格式化所有的重击.我提到的网站在视图源输出上格式干净.我应该假设他们正在使用一些模板引擎吗?还有什么办法可以清理我的模板类型吗?没有手动删除空白并牺牲开发方的可读性?

html php browser

8
推荐指数
2
解决办法
1万
查看次数

PHP类:从被调用的方法访问调用实例

抱歉这个奇怪的主题,但我不知道如何以另一种方式表达它.

我正在尝试从调用类访问一个方法.就像在这个例子中:

class normalClass {
     public function someMethod() { 
          [...]
          //this method shall access the doSomething method from superClass
     }
}

class superClass {
     public function __construct() {
          $inst = new normalClass;
          $inst->someMethod();
     }
     public function doSomething() {
          //this method shall be be accessed by domeMethod form normalClass
    }
}

这两个类都不依赖于继承,我不想将该函数设置为static.

有没有办法实现这一目标?

谢谢你的帮助!

php oop

8
推荐指数
2
解决办法
5777
查看次数

无法使用ini_set()增加memory_limit

我只是注意到我无法将内存限制增加到高于php.ini中配置的值ini_set().但是,我可以将其设置为低于该值的任何值,并将其增加到低于ini文件中定义的任何其他值.

有谁知道为什么会发生这种情况或我如何解决它?

php

8
推荐指数
1
解决办法
6591
查看次数

UTF-8 vs Latin1 mysql,未在utf-8上使用的索引

我尝试用UTF-8和Latin1 Char集创建我的mysql表.当我使用Latin1时,我使用了索引,当我使用UTF-8时,在选择/限制记录时不使用索引.是否有我错过的Char集导致这种情况发生?

干杯

mysql encoding

8
推荐指数
1
解决办法
4014
查看次数

linux shell文件大小

我想把文件的大小变成变量?怎么做?

ls -l | grep testing.txt | cut -f6 -d' '
Run Code Online (Sandbox Code Playgroud)

给出了大小但是如何将它存储在shell变量中?

linux shell

7
推荐指数
1
解决办法
1万
查看次数

PHP:检索DOMElement的所有已声明的名称空间

我使用DOM扩展来解析包含xml命名空间的xml文件.我原以为命名空间声明就像任何其他属性一样对待,但我的测试似乎不同意.我有一个像这样开头的文档:

<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns="http://purl.org/rss/1.0/"
    xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:syn="http://purl.org/rss/1.0/modules/syndication/"
    xmlns:prism="http://purl.org/rss/1.0/modules/prism/"
    xmlns:admin="http://webns.net/mvcb/"
    >
Run Code Online (Sandbox Code Playgroud)

和这样的测试代码:

$doc = new DOMDocument();
$doc->loadXml(file_get_contents('/home/soulmerge/tmp/rss1.0/recent.xml'));
$root = $doc->documentElement;
var_dump($root->tagName);
# prints 'string(7) "rdf:RDF"'
var_dump($root->attributes->item(0));
# prints 'NULL'
var_dump($root->getAttributeNode('xmlns'));
# prints 'object(DOMNameSpaceNode)#3 (0) {}'
Run Code Online (Sandbox Code Playgroud)

所以问题是:

  1. 有谁知道我在哪里可以找到文件DOMNameSpaceNode?一对php.net搜索不会产生任何有用的结果.
  2. 如何从该DOMElement中提取所有这些命名空间声明?

php dom xml-namespaces

7
推荐指数
2
解决办法
5155
查看次数

通用二进制协议

我正在尝试为我的下一个分布式应用程序找到合适的协议中间件.我在过去几天发现了几个规格,并想知道我是否错过了一个重要规格?它应该是一个二进制协议,支持RPC并且可选地具有不同语言的开源实现.这是我找到的协议列表:

  • CORBA
  • AMQP
  • 节约

这是被解雇的协议列表:

  • 基于XML的协议,因为它们是基于文本的(XML-RCP,SOAP,手动等)
  • 协议缓冲区(封闭源)
  • COM(仅限Windows)

protocols

6
推荐指数
2
解决办法
3259
查看次数

我可以在一个Mysql查询中执行此操作吗?

我有一个有两列的表:

column A    column B
  1             2
  1             2 
  2             1
Run Code Online (Sandbox Code Playgroud)

我想返回总数= 3总共两个= 3

我能想到的最好的是两个查询:

SELECT sum(CASE WHEN columnA =1 THEN 1 ELSE 0  END ) 
     + sum(CASE WHEN columnB =1 THEN 1 ELSE 0 END ) 

SELECT sum(CASE WHEN columnA =2 THEN 1 ELSE 0  END ) 
     + sum(CASE WHEN columnB =2 THEN 1 ELSE 0 END ) 
Run Code Online (Sandbox Code Playgroud)

这可以在一个查询中完成吗?谢谢

php mysql

6
推荐指数
1
解决办法
127
查看次数

使用正确的编码读取文件

我有一个txt文件,如果我用标准文本编辑器打开记事本或scite,我可以读取这样的字符串:

Artist1 – Title 1
Artist2 – Title 2
Run Code Online (Sandbox Code Playgroud)

比我用我的PHP脚本打开它,我读了线:

$tracklistFile_name=time().rand(1, 1000).".".pathinfo($_FILES['tracklistFile']['name'], PATHINFO_EXTENSION);
if(((pathinfo($tracklistFile_name, PATHINFO_EXTENSION)=='txt')) && (move_uploaded_file($_FILES['tracklistFile']['tmp_name'], 'import/'.$tracklistFile_name))) {
    $fileArray=file('import/'.$tracklistFile_name, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
    $fileArray=array_values(array_filter($fileArray, "trim"));

    for($i=0; $i<sizeof($fileArray); $i++) {
        echo $fileArray[$i]."<br />";
    }
}
Run Code Online (Sandbox Code Playgroud)

和...哇...我得到这个结果:

Artist1 ? Title1 
Artist2 ? Title2 
Run Code Online (Sandbox Code Playgroud)

??? 这些符号是什么?我认为编码失败了.符号是错误的,我无法将它们插入数据库,也没有mysql_real_escape_string().事实上,当我尝试插入它时,我收到此错误:

Incorrect string value: '\x96 Titl...' for column 'atl' at row 1
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?建议?

编辑

尝试在插入/添加这些字符串之前添加utf8_encode():现在插入不会失败,但结果是:

Artist1  Title1 
Artist2  Title2
Run Code Online (Sandbox Code Playgroud)

所以我丢失了信息.为什么?

php encoding

6
推荐指数
1
解决办法
6551
查看次数

vim - 如果在svn工作副本中不保存备份?

我喜欢vim自动保存备份文件,但是当我使用vim编辑svn工作副本中的文件时很烦人,因为文件已经"备份"了,它会造成混乱.

在编辑不在svn工作副本中的文件时,如何将vim配置为仅保存备份?

vim

4
推荐指数
1
解决办法
377
查看次数

标签 统计

php ×6

encoding ×2

mysql ×2

browser ×1

dom ×1

html ×1

linux ×1

oop ×1

protocols ×1

shell ×1

vim ×1

xml-namespaces ×1