sbf888胜博发关于symfony中读取web/bundles路径下php文件的问题

( sbf888胜博发 )

我的问题是这样子的:我在本地开发,弄了一个富文本编辑器UEditor,为了方便,我按照原来的配置,把php文件放在js下面,整个路径是这样子的:http://localhost/msk/web/bund…,这是本地开发的路径。其中msk这个是根目录下的一个项目文件夹。这个时候是没有任何问题的。富文本所有东西都能上传。但是当我上传到服务器线上的时候,我拿到的路径是这样子:http://主机ip/bundles/msk/public/js/php/controller.php?action=config&&noCache=1471224486130,但是这时候产生了404错误。请问一下,是不是symfony的开发者模式和普通模式不一样?是不是一定要读取路由注册方法的呢?还有就是为了测试路径对不对,我放了一张图片上去,但是也能读取出来,是不是仅仅不能读取php文件?忘各位不吝赐教。

题主你的服务器用的是什么, 很可能是nginxapache把所有以.php结尾的后转发到入口文件app.php里去了,

(看完/读完)这篇文章有何感想! sbf888胜博发的分享…

www.sbf888.com求推荐一个好用的免费的转码工具

( www.sbf888.com )

拿到一个项目是TP框架做的
源码是utf-8

希望有人能介绍一个文件转码工具帮我把这个项目的代码转码一下

不知名的程序猿项目代码不知道什么编码如下图

有zend头,这是编译(加密)过的,解不开的。
如果只是ThinkPHP目录下的文件还好办,因为ThinkPHP是开源的,可以直接去官网下一个源码直接放在这里。看这个目录结构应该是ThinkPHP3.2。
但是如果是配置文件或者是项目文件的话就无解了。

应该是zend加密的文件吧

这是故意加密过的,为的就是不让看到代码.

无法转码,这是密文!!!

谢谢邀请。如楼上几位所说的,确实是为了不让别人看,加密的代码密文

超无语,加密了还把代码放出来干嘛

(看完/读完)这篇文章有何感想! www.sbf888.com的分享…

sbf888胜博发一个微信公众号同时接入两个以上第三方后台

( sbf888胜博发 )

1、我有个公众号,现已接入一个第三方管理后台,但是我要新增一个功能模块,用了不同的URL和token,如何能让这两个第三方后台同时生效?

2、我看到微信开放平台中的公众号第三方平台可以这样,类似于水滴平台,不用填写URL和token,只要授权就可以了,不占用服务器配置。可是这个好像很难搞。

3、有没有简单一点的方法 让一个公众号同时接入两个第三方后台呢?

没有办法,除非你自己写一个路由转发给多个后台

以前做过一个项目工这个类似,我前公司是平台,需要一个项目给用户设置数据分发给指定的多个第三方url,当用户设置了,我们就把微信任何接口返回的数据,同事分发给这几个接口,数据原模原样的分发就好了,注意分发接口规范

(看完/读完)这篇文章有何感想! sbf888胜博发的分享…

sbf胜博发娱乐城数据库课程表的表结构怎么设计

( sbf胜博发娱乐城 )

就是星期一到星期五的课,需要两张表吗。

这个问题已被关闭,原因:无法获得确切结果的问题

weekday start_unit end_unit course
星期几 开始小节 结束小节 课程

id(周一到周五) AM(上午) PM(下午)
1 体育 音乐
2 体育 音乐
3 体育 音乐
4 体育 音乐
5 体育 音乐
//如果上午有 多节课的话,那么可以把多个课程序列化存储或者存json

(看完/读完)这篇文章有何感想! sbf胜博发娱乐城的分享…

sbf胜博发娱乐城把数据库的字符串输出来作为html的结构?

( sbf胜博发娱乐城 )

我要怎么样才能把存进数据库的字符串变成html元素?

html_entity_decode($content);

多了两个引号,查查存数据库的时候是不是多了两个

html_entity_decode函数
如果那里不明白可以先查手册

{$data.layid|escape:html}可以用这个

(看完/读完)这篇文章有何感想! sbf胜博发娱乐城的分享…

sbf胜博发娱乐城在访问一个页面的时候,用程序只能获取到部分cookie

( sbf胜博发娱乐城 )

问题
1、在访问一个页面的时候,生成了cookie,用程序只能获取到部分,和浏览器访问的cookie不一致。
2、响应头的中的cookie已经获取。
想获取请求头中的cookie。
3、测试链接:http://i.umeng.com/

补充:
后端服务获取

第一步:清理浏览器cookie
第二步:在第一次请求该地址时,发现请求头中带着相关cookie,想获取该cookie。
在其他访问的响应头中,没有发现cookie设置,所以很好奇请求头中的cookie是怎么来的。

想获取cookie中下面两个名字的值


问题原因:js生成的cookie

你是想js获取cookie还是,在后端服务获取请求带的cookie?
这是友盟的登录,我看了下cookie都是正常的。

如果你是想服务端获取请求带的cookie的话,查看你的web服务器地址是否跟接口服务器地址是在一个域里,如果不是前端页面发送请求的时候是要手动设置cookie跨域的。

通常情况下如果web服务器与接口服务器是同一个域名的话,每次发送请求给接口服务器的时候,浏览器会自动带上域名下得所有cookie,接口服务器通过事先设置好的cookie-name来筛选自己的cookie.

不知道有没有帮到你,你可以在描述清晰点么?或者说你想用这个干什么?

理解有问题
你想在同一个请求中,先设置 cookie,再获取你设置的 cookie ?这当然是不可能的。
设置的 cookie 要在下次请求才能获取。

或者这么说,
你在一次请求中,先设置 cookie 值,那么你肯定知道 设置的值是什么,可以直接使用这个值,为什么要在通过 cookie 获取呢 ?

请求头的cookie是你在发出请求的时候设置的啊。。

(看完/读完)这篇文章有何感想! sbf胜博发娱乐城的分享…

www.sbf888.comdede想要调用商品详情页的内容,如何调用

( www.sbf888.com )

dede想要调用商品详情页的内容,如何调用

不建议用dede做商城.
需要修改跟多.

{dede:arclist addfields= 'price,trueprice' channelid='6' }
 市场价: [field:price] ¥ 
优惠价: [field:trueprice] ¥ 
{/dede:arclist}

没用过……

(看完/读完)这篇文章有何感想! www.sbf888.com的分享…

www.sbf888.comphp如何实现长链接

( www.sbf888.com )

php如何实现长链接

websocket 推荐swoole

所谓的长连接, 其实就是在服务端hold住请求,不立即返回. 等到有数据的时候再响应, 然后客户端再发起请求.

http://blog.csdn.net/wolfqong…

swoole文档和案例一直都是硬伤
如果是新手,考虑workerman,官网demo很nice,文档也nice

workerman 和 swoole

(看完/读完)这篇文章有何感想! www.sbf888.com的分享…

sbf胜博发娱乐城什么叫到主叫对象?

( sbf胜博发娱乐城 )

在读PHP Manual的时候,看到类与对象里面属性一节,里面这样说道:

当一个方法在类定义内部被调用时,有一个可用的伪变量 $this。$this 是一个到主叫对象的引用(通常是该方法所从属的对象,但如果是从第二个对象静态调用时也可能是另一个对象)。

在网上搜索了下,对于$this,还是比较理解,但是对于到主叫对象,还是不怎么理解。请问能用简单易懂的描述说明下吗?

假如我和一个厨师都属于人这个类的对象,我们俩都有个方法是做饭。我做饭,那么在做饭的时候$this就是我自己,如果我请这个厨师来我家做饭,那么做饭的时候$this就是这个厨师而不是我

简单点说$this指向的就是当前执行环境的对象

(看完/读完)这篇文章有何感想! sbf胜博发娱乐城的分享…

sbf胜博发娱乐城如何找到某个软件比如php-fpm依赖了哪些库?

( sbf胜博发娱乐城 )

通过ldd可以找到大部分,还有一些就不知道了。

ldd php-fpm是看静态的二进制文件依赖的共享库.
可以用sudo lsof -p PID查看程序运行时打开的文件,包括依赖的共享库.
需要注意的是,一些没有编译到PHP-FPM里的PHP扩展(也是so文件)有时也会依赖其他库,
所以你要找出PHP-FPM依赖了那些库,最好载入你用到的所有PECL扩展后运行,用lsof查看.
如果你是要打包跨Linux解压即用的PHP二进制打包,可以看看我的这篇文章.
我自己编译的Android版PHP则是完全静态链接了依赖库.

pmap $(ps -ef | grep “php-fpm: master” | grep -v grep | awk ‘{print $2}’) | awk ‘{print $4}’ | sort | uniq | grep .so

(看完/读完)这篇文章有何感想! sbf胜博发娱乐城的分享…

www.sbf888.com前端开发转去后台需要去学哪些知识?

( www.sbf888.com )

由于最近培训的是前端的一些知识,html css JavaScript JQuery 方面的知识,然后想了想这些的东西写到后面也在操作一些页面特效。
老师说什么脚本写的6后面可以去转型到后台开发,至于后台开发要去储备哪些知识? 最近有在自学PHP,由于大学的专业是软件,自然语言入门是比较快的,只是不知道该怎样去深入。

说真的就是最近老师一直在给我们布置设计方面的作业,用PS设计出页面,做着做着就有点恶心了。各位工作的老鸟你们工作中也会接触到很多设计方面的东西吗?

首先分清状况,是业务需要 还是单纯去学?

业务需要:

比较好学,可以从具体的业务逻辑处理去学习,语言不是最重要的,如果没有什么个人偏好,可以选择nodejs、python、java之类的

单纯的学:

建议看看现在就业行情,java虽老,不过还是很有优势的,比较好找工作,nodejs其实目前还是有很多坑了……另外考虑,自己手头资源或者是个人爱好吧,毕竟撸代码还是开心点比较好不是么?

总的来说

不论学什么、前后端,这都不是事儿,关键是你想要什么,如果觉得ps麻烦不喜欢前端,因为这个去学后端,我觉得真的是将来会不会后端什么的也会厌倦呢?那时候难道要去做销售吗?

最后,不论学啥还是要静下心气儿为先吧,个人建议欢迎讨论

忽然想发张图

JS全栈开发,Node思想新颖

ps甚至flash都可以学学,了解切图了解动画帧原理都是有必要的;

后端初期学学nodejs了解一下http请求流程这是开发网络程序的基础之基础,学会一些基础的框架安装;

有精力可以学学python对于后端的各种文件和数据处理还是挺方便的,国外的大学都用这个语言作学编辑的入门语言,它还是蛮人性化,易学好用的;

新人多各方面学习,多多调试实践;

(看完/读完)这篇文章有何感想! www.sbf888.com的分享…

www.sbf888.com直播平台发礼物与弹幕,消息服务器是怎么确认是当前登录用户发的消息?

( www.sbf888.com )

用户点击发礼物,把消息发送到消息服务器,消息服务器请求后端接口去修改数据库并广播消息,这个流程是对的吧?
对消息服务器不太了解,那它是怎么确认是当前登录用户发的消息?

请求里会带上鉴权 token 的,通常在 Cookie 里,服务端检查一下就行了。

cookiesession

cookie 唯一标示会话
session 保存是否登录以及其他信息

https://www.baidu.com/s?wd=co…
https://www.baidu.com/s?wd=se…

(看完/读完)这篇文章有何感想! www.sbf888.com的分享…

sbf胜博发娱乐城in_array()

( sbf胜博发娱乐城 )

//现有的ID集合$set[‘old_id’]与前台传来的id集合$set[‘new_id’]作对比,

public function contrast_new_old_id(){
    //从前台传来的id组
    $checkids['id']=$this->input->post('id');

    //根据逗号将$checkids['id']拆解,并形成新ID集合$set_new_id
    $set_new_id=explode(',', $checkids['id']);

    //从数据库中取得的现有的ID的集合$set_old_id
    $set_old_id=$this->m_checkout->acquire_old_id();    
    //print_r($set_old_id);
    //将$set_new_id 中的id一个个拿出来,在$set_old_id 中作对比。将在$set_old_id 中没有的ID存入数据库
    
        for ($i=0; $i < count($set_new_id); $i++) { 

            if(in_array($set_new_id[$i], $set_old_id)){
                //当前数据库中有的
                echo "ID: ".$set_new_id[$i]." 存在<br>";

                $this->load->view('checkout/v_test');

            }else{
                //将当前数据库中没有的写进数组$checkout[]
                $checkout[$i]=$set_new_id[$i];    

            }
        }
    print_r($checkout);
    
    //$this->m_checkout->add_new_id($checkout);
}

我传入的值:
123,1233

print_r($set_old_id):
Array ( [0] => Array ( [ID] => 1 ) [1] => Array ( [ID] => 12 ) [2] => Array ( [ID] => 123 ) [3] => Array ( [ID] => 1234 ) [4] => Array ( [ID] => 12345 ) )

打印出来的:
ID: 123 存在
Array ( [0] => 123 [1] => 1233 )

问题:为什么print_r($checkout);还会有123
我明明进行了筛选。
望大神告知。。谢谢

首先 $set_old_id 格式是不对的,另外在使用 in_array 函数时需要注意它的一些“怪异行为”,手册中有很多例子展示了该函数在使用时需要注意的地方,不凡参考一下手册 in_array

如果 $set_old_id 格式正确的话,也就是把 ID 提取出来,形成一个一维数组,如:[1,2,3,4]。那么在使用 in_array 函数时,这里需要使用上第三个参数,它意味着进行严格匹配(类型及值都需要完全一样)。如:

in_array($set_new_id[$i], $set_old_id, true)

这样子才能准确判断一个值是否存在一个数组里,当然也可以用其他方法,比如 isset() 等等,PHP手册有许多案例。

以前自己在使用 in_array() 过程中也中过招,记录在这里“PHP 中的一些 “陷阱”

$a = [1,2,3];
$b = [1,4,5];
for($i = 0, $l = count($a); $i < $j; $i ++) {
    if (in_array($$a[$i], $b)) {
        //then...
    } else {
        //then...
    }
}

这个是正确使用in_array的例子,你那个的具体问题自己思考一下吧。看代码也看不出$set[‘old_id’]具体长什么样。

(看完/读完)这篇文章有何感想! sbf胜博发娱乐城的分享…

sbf888胜博发为何gbk编码的返回结果是3?

( sbf888胜博发 )

php > $s=”你好”;
php > echo mb_strlen($s,”utf8″);
2
utf8返回2,我理解
php > echo mb_strlen($s,”gb2312″);
4
这里返回4,我也理解
php > echo mb_strlen($s,”gbk”);
3
这里我就不理解了?

因为$s是UTF8编码,你没有转成GBK就通过GBK的编码获取它的长度。

UTF8编码的你好在GBK上是浣犲ソ,所以它的长度是3呀。

应该这么干:

$a = mb_strlen(iconv( 'utf-8','gbk', $s), 'gbk');
$b = mb_strlen(iconv( 'utf-8','gb2312', $s), 'gb2312');

也就是,GB2312也是错的。

mb_strlen 是返回字符数,所以只有返回2才是正确的,4、3这两种情况我不知道你是怎么理解的?

不过 $s = "你好" 的时候,$s 里存的是 UTF8 编码的字符串(根据你的源文件编码来),如果把这个编码的数据用 GBK 或者 GB2312 来解码,就可能得到乱码,所以4、3应该是乱码的长度。

(看完/读完)这篇文章有何感想! sbf888胜博发的分享…

sbf胜博发娱乐城switch难道不是这样的写的吗? ssid去哪了?

( sbf胜博发娱乐城 )

在别的群看到这个问题
ssid去哪了?

我们可以在一些地方进行 echo 输出变量,如以下代码所示。

<?php
$filed = array(0, 707, 708, 'ssid');
$dd = array();

foreach ($filed as $value) {
    echo $value . "\n";
    switch ($value) {
        case 0:
            $filedStr = 'sindex';
        break;
        case 707:
            $filedStr = 'login';
        break;
        case 708:
            $filedStr = 'register';
        break;
        case 'ssid':
            $filedStr = 'ssid';
            echo $filedStr;
        break;
        
        default:
        break;
    }
}

在结果中,我们可以发现,echo $filedStr;这步并没有输出。

这个时候,就应该看PHP官方文档里,为什么会导致这样,原因就出于 switch。

PHP官方文档,什么,这是英文的,当然也有中文的。里面有句话:

Attention if you have mixed types of value in one switch statemet it can make you some trouble

当然底下给出了一种方案:

<?php

$string="2string";

switch($string)
{
    case (string) 1:
        echo "this is 1";
        break;
    case (string) 2:
        echo "this is 2";
        break;
    case '2string':
        echo "this is a string";
        break;
}

?>

里面提到了 PHP 用了动态类型转换,也就是这篇博客里讲的。

动态语言的变量类型是随存储的变量而变化的,即变量类型是根据具体环境而进行变化的。

当 $value 值为 ‘ssid’ 时,执行到 case 0 的时候,要转换为整形和其做比较,因为转换之后相等,所以匹配不到后面的 ‘ssid’ 。

因为你的switch匹配里, case是整数, 这会导致在匹配的时候把字符串强制转换为integer, ssid转为int为0, 是不会匹配到case 'ssid'

ssid肯定没有匹配到

谢谢大家的回答,已经懂了.

// 只取出以合法数字开始整型和浮点型,取到第一个非法数字截止...
intval('1234ssid');// 1234
intval('ssid');// 0
var_dump('ssid' == 0);//so, 这里就为`true`,就会执行它所对应的代码段.ssid想再去匹配已经没有机会了哈

(看完/读完)这篇文章有何感想! sbf胜博发娱乐城的分享…

sbf胜博发娱乐城Python包里的静态文件复制问题

( sbf胜博发娱乐城 )

是这样的。我在写一个Python包,需要包含一些静态文件(模板等)

要实现这样一个功能

my-script deploy

部署会copy这些静态文件到当前目录。

请问,在Python代码上我应该如何处理静态文件的路径问题?有无比较简洁的做法?(之前我都是找出包所在路径,再copy的)

(看完/读完)这篇文章有何感想! sbf胜博发娱乐城的分享…

sbf胜博发娱乐城微博爬虫:直接使用API还是完全自己开发?

( sbf胜博发娱乐城 )

希望各位朋友帮忙给下建议!
谢谢~

首先说一句,你这问题真是问的有点让人吐槽无力,重点就是一句话”有过相关开发经验的朋友,一般是直接使用相关API还是完全自己开发呢?“还写了这么多,最重要的是题目!为什么题目不把这句重点放上或者这句的意思也要表达出来啊!建议去看看提问的智慧

然后回答一下你的问题,虽然API有频率限制但是相比较自己抓取来说方便很多,一般API有的功能都直接用API,如果实在没有或者API让人无法忍受的话,才会考虑自己抓取或模拟什么的。因为后者怎么说相对前者来说还是比较麻烦的。

一般来说只要不是太过于复杂的功能都可以用API实现,个人建议如果不是万不得已还是尽量用API。

关于API频率调用的问题,如果你仅仅是为了实现一些简单的功能(比如定时微博,微博关键字抓取),那么你是完全不需要考虑调用频率的问题(渣浪对于测试应用的API调用频率限制得不多)。当然,如果你是需要做一个有一定PV的上线应用,肯定得申请上线。

看你的需求了,如果是为了学习微博的API自然用API,如果是想学习web爬虫就自己爬,如果是为了其他的目的,数据挖掘这块纯粹是“获得数据”这个目的,我觉得还是API好点(方便很多哦)。

鉴于微博 API 有频率限制,你可以用一个帐号申请多个未上线应用来进行爬虫。
因为我觉得 200次/小时 是不能满足爬虫的需要的。但是10*200次/小时应该就能满足基本需要了。
不过我觉得新浪很快就发现你是爬虫的,他们会不定时审核的,所以 LZ小心点吧。

(看完/读完)这篇文章有何感想! sbf胜博发娱乐城的分享…

www.sbf888.comPIL保存gif,只能保存第一帧

( www.sbf888.com )

需要接收web请求,包含上传的gif文件,通过PIL保存。保存的gif不是动画,只有第一帧。
代码大概如下:

    gif_data = ...
    im.open(StringIO(gif_data))
    obuf = StringIO()
    im.save(obuf, 'gif')
    # 再将obuf.getvalue()存入文件

请问各位大神,如何通过PIL完成gif保存,或者有其他的python lib能完成这个功能

im.save(obuf, ‘gif’, save_all=True)

(看完/读完)这篇文章有何感想! www.sbf888.com的分享…

sbf888胜博发用户登录网站后,用户在一段时间内与网站没有交互,则视为离开,需要用户重新登陆,如何实现?

( sbf888胜博发 )

如果能够详细说明就最好了,谢谢!

  1. 一段时间:设为10分钟。
  2. 用户重新登录:提示用户因为安全问题需要重新登陆。(类似支付宝提示用户重新登陆效果)

楼主还在么?

正确的检测当然必须以后端为准(session的过期机制)。但缺点是一般会在用户提交后才告知用户:你需要登录。显然体验不够好。

你更关心的是前端吧?(我是根据问题的标签来猜测的)

首先要定义:什么是“与网站没有交互”?

我建议的方案如下:

  • 只要网页失去焦点(window 的blur事件),就开始一个 setTimeout 来调用函数 checkSession
  • 如果网页重新获取了焦点(focus事件),则clearTimeout
  • checkSession 函数用ajax默默地向后端请求检测session是否过期。如果是,则提醒用户重新登录

这个方案的优点是:足够简单

而缺点是:如果用户同时开了多个页面,那么经常看到重新登录的通告。

你可以进一步利用cookie来跨页面计时:只要有任意一个页面focus,那么clearTimeout

如果用的是django,则在settings.py中设置

SESSION_COOKIE_AGE=60*30

session里加个是否过期的字段,记录每次request的时间,每次请求和上一次请求时间做对比 然后做判断。

我猜你想做的除了逾時在後端踢出使用者外,還需要js跳通知讓使用者重新登入。

可以在js裡設定一個setTimeout的計時器,設定多久後顯示通知。

然後根據你的交互定義,看是要聆聽整個頁面的mousemove事件或click事件,把重置計時器的動作綁上去(clearTimeout 後再設一次setTimeout)。

就是简单的session过期cookie过期时间的问题啊,没有啥好回答的。

(看完/读完)这篇文章有何感想! sbf888胜博发的分享…