小编Cas*_*ynn的帖子

在 PHP 中合并两个带有透明度的图像

我正在尝试通过 php 制作多个具有背景透明度的 .png 的合成图像,并将生成的图像存储在我的数据库中。我的问题是,当我合并图像时,图像的透明部分被删除。

这是我创建合成图像的代码:

    $base = imagecreatefrompng('application/assets/images/vel1_bg.png');
    imagealphablending($base, true);
    list($baseWidth, $baseHeight, $type, $attr) = getimagesize('application/assets/images/vel1_bg.png');

    $user_board_items = $this->config->item('user_board_items');

    foreach($array as $key => $value){
        $item = imagecreatefrompng('application/assets/images/items/' . $user_board_items[$value[0]] . '.png');         
        imagealphablending($item, true);
        list($width, $height, $type, $attr) = getimagesize('application/assets/images/items/'. $user_board_items[$value[0]] . '.png');

        imagecopymerge($base,
                    $item,
                    floor(($value[1] / 100) * $baseWidth),
                    floor(($value[2] / 100) * $baseHeight),
                    0,
                    0,
                    $width,
                    $height,
                    100);
        imagedestroy($item);
    }

    //We have to capture the output buffer
    ob_start();
    imagepng($base);
    $baseimg = ob_get_clean();
Run Code Online (Sandbox Code Playgroud)

这会产生如下图像: 在此输入图像描述

我正在寻找更像这样的东西: 在此输入图像描述 (注意透明部分的表示方式)

php png gd alphablending

5
推荐指数
1
解决办法
3208
查看次数

构建在codeigniter之上的PHP应用程序可以同时连接到MySQL和mongoDB数据库吗?

我有一个内置于codeigniter并使用cloudcontrol托管的Web应用程序.我使用普通的MySQL数据库来保存我的所有数据,现在除了MySQL数据库之外我还想使用mongodb数据库.

我想使用mongodb作为作业队列来在我的工作者和我的应用程序服务器之间保留消息.我从本教程中获得了灵感:http://www.captaincodeman.com/2011/05/28/simple-service-bus-message-queue-mongodb/

  1. 这是可能的(同时使用两种不同类型的数据库 - 有/没有黑客的codeigniter,我会认为是)

  2. 完成此任何提示?

----编辑----

我在我的CI项目中包含了这个库:https: //github.com/alexbilbie/codeigniter-mongodb-library

当我尝试通过以下方式加载它:$this->load->library('mongo_db'); 我遇到这个: 在此输入图像描述

我不确定如何让mysql和mongodb一起工作......

----编辑----

没关系我的上述问题,我不正确地设置了配置文件并混淆了错误......

php mysql codeigniter mongodb cloudcontrol

5
推荐指数
1
解决办法
1311
查看次数

有关mongodb上限集合+ tailable游标的问题

我正在构建一个排队系统,通过使用capped_collections和tailable游标在mongodb中实现的堆栈将消息从一个进程传递到另一个进程.

接收进程在capped_collection中循环无限地寻找新文档,当它找到一个时,它执行一个操作.

我的问题是,如果我实现了多个接收进程,是否有办法保证新文档只能由一个使用tailable游标的进程读取一次?目标是如果有两个接收进程在队列中查找新消息,则避免执行两次操作.我对mongodb编程比较陌生,所以我仍然对它的所有功能都有所了解.

database multithreading multiprocessing mongodb

5
推荐指数
1
解决办法
894
查看次数

在类方法内访问类属性

我有一个简单的 PHP 类,我试图从该类中的方法访问该类的属性。我已经尝试过 $this->property_name 语法,但似乎不起作用。我究竟做错了什么?

class NavigationBuilder {

    public $mPage;
    public $mGeoID;
    public $mContinent;
    public $mCountry;
    public $mRegion;

    private $Geograph = 'a';

    public function construct_navigation() {

    }

    public function __construct() {

        var_dump($Geograph);
    }

}
Run Code Online (Sandbox Code Playgroud)

php properties class

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

防止Facebook画布应用程序直接/在Facebook外访问

我正在为facebook开发一个canvas应用程序,我想阻止用户直接从画布URL访问应用程序(尽可能地,我意识到这可能在100%的时间内都不可能)并强制用户访问应用程序来自apps.facebook.com/foo.

我正在使用php开发应用程序,我的第一个想法是检查$ _POST数组中的'signed_request',这是从facebook传递到画布应用程序的值,并且如果此值不存在则发送重定向但它出现此值仅传递一次,当用户在我的应用程序中单击不同的链接时,'signed_request'参数不会再次传递.

我可以合理地信任'HTTP_REFERER'以验证用户是否从http://apps.facebook.com/foo访问该应用程序并在HTTP_REFERER不等于该值时重定向用户?

编辑:我实际上只是注意到在apps.facebook.com/foo上对应用程序的原始请求时,HTTP_REQUEST标头等于'apps.facebook.com/foo',但是当用户单击应用程序中的链接时HTTP_REQUEST变得等于画布网址.

php facebook canvas facebook-php-sdk

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

Javascript/jQuery:IE7/8的SCRIPT438错误,有什么调试技巧吗?

我有一个javascript在chrome,FF2/3和IE9中完美运行

158: drop_area = $('#drop_area');
159: element = ui.helper;
Run Code Online (Sandbox Code Playgroud)

但是我在IE7和IE8中得到以下错误:

SCRIPT438: Object doesn't support this property or method 
dragdrop.js, line 158 character 2
Run Code Online (Sandbox Code Playgroud)

我对IE7的调试功能的了解非常有限,但我看起来并不能真正从控制台检查有问题的对象.有谁知道这里可能会发生什么,或者我如何更好地调试此错误

编辑:实现更多的上下文可能会有所帮助

function on_element_drop(event, ui){
    drop_area = $('#drop_area');
    element = ui.helper;
Run Code Online (Sandbox Code Playgroud)

on_element_drop是jQuery UI droppable'drop'事件的回调方法

/*
 * dragdrop.js
 * Author: Casey Flynn
 * June 10, 2011
 * Global variables available to all functions
 */

//Keeps track of elements present in droppable and corresponding offsets/positions
var base_url = 'http://www.bla/';
var global_positions = new Array();
var current_item_group = 0;
var …
Run Code Online (Sandbox Code Playgroud)

javascript jquery internet-explorer-7

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

对JS SDK Facebook Events的性质感到困惑

我在设计与facebook一起使用的网站的用户登录/注销机制时遇到了一些麻烦.

某些facebook事件的行为似乎违反直觉:

当用户登录时,'auth.login'将在每个页面加载时触发.

正如我所料,FB.getLoginStatus()会在每个页面加载时触发

'auth.logout'仅在用户实际注销时触发,与'auth.login'不同,当用户未登录时,auth.logout不会在每个页面加载时触发.

我想构建一个系统来检测用户会话是否认为用户已登录到Facebook.如果用户的会话设置为相信他们已登录到Facebook,但实际上他们没有执行ajax调用服务器并更新会话.如果会话和facebook js sdk就用户是否登录达成一致,则不执行任何操作.如果用户的会话不知道用户登录到Facebook但js sdk说他们是,请使用ajax调用更新服务器.

我想创建一个与用户当前的Facebook登录状态同步的应用程序.我想这个应用程序登录/注销(通过执行ajax调用我的服务器来更新他们的会话),只要他们的Facebook状态发生变化.这很困难,因为我似乎无法可靠地检测用户何时登录或退出Facebook.

我遇到的一个特殊问题是当用户加载页面并且他们登录到facebook时,auth.login事件和FB.getLoginStatus()事件都会被激活.

我的最终问题是,我必须使用什么组合的facebook事件或一般策略来创建这样的应用程序.我想要的一个很好的例子是hulu.com实施facebook登录他们的网站.感谢您阅读本文!

    <script>
  window.fbAsyncInit = function() {
    FB.init({appId: '<?=$facebook_app_id?>', 
            status: true, 
            cookie: false,
             xfbml: true});

    FB.getLoginStatus(function(response) {

        console.log('getLoginStatus');
        console.log(response);

        if(response.session){
            if(window.module.Globals.prototype.oauth_uid != response.session.uid){
                //authenticated user unknown to server, update server and set session
                window.module.VCAuth.prototype.session_login();
            }
        }else{
            if(window.module.Globals.prototype.oauth_uid){
                //unauthenticated user with authenticated session, update server and unset session
                window.module.VCAuth.prototype.session_logout();
            }
        }

    });

    FB.Event.subscribe('auth.login', function(response){
        console.log('auth.login');
        console.log(response);

    });

    FB.Event.subscribe('auth.logout', function(response){
        console.log('auth.logout');
        console.log('response');
    });

  };
  (function() {
    var e = document.createElement('script'); e.async = …
Run Code Online (Sandbox Code Playgroud)

javascript facebook facebook-graph-api facebook-javascript-sdk

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

Codeigniter .htaccess文件配置为google-apps域验证例外

我有一个内置codeigniter的网站,现在我想使用与网站所在域名相同的谷歌应用程序.Google要求我在我的域根目录下放置一个特定的验证.html文件.

例如:

www.example.com/google644d08docc30vtsd.html

我应该修改我的htaccess还是使用路由类?

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    #Removes access to the system folder by users.
    #Additionally this will allow you to create a System.php controller,
    #previously this would not have been possible.
    #'system' can be replaced if you have renamed your system folder.
    RewriteCond %{REQUEST_URI} ^system.*
    RewriteRule ^(.*)$ /index.php?/$1 [L]

    #When your application folder isn't in the system folder
    #This snippet prevents user access to the application folder
    #Submitted by: Fabdrol
    #Rename 'application' to your applications folder …
Run Code Online (Sandbox Code Playgroud)

url .htaccess codeigniter google-apps

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

BackboneJS重新排列集合中模型的最佳方法,同时为每个模型保持0索引序数属性

我有一个问题,我在这里玩,我有一个BackboneJS模型的集合,每个模型都有一个'序数'属性,跟踪它在集合中的顺序.

这是我的游戏数据

var ex_group_test_data = [{

            title: 'PRE EXERCISE',
            id:         0,
            ordinal:    1,

            group_items: [{
                id:         0,
                ordinal:    0,
                title: 'item 1'
            },{
                id:         1,
                ordinal:    1,
                title: 'item 2'
            }]

        },{

            title: 'MAIN PART',
            id:         1,
            ordinal:    0,

            group_items: [{
                id:             2,
                ordinal:        0,
                title:          'item 3',
                description:    'testing descrip'
            },{
                id:         3,
                ordinal:    1,
                title: 'item 4'
            }]

        },{

            title: 'POST EXERCISE BS',
            id:         2,
            ordinal:    2,

            group_items: [{
                id:             2,
                ordinal:        0,
                title:          'item 5',
                description:    'testing …
Run Code Online (Sandbox Code Playgroud)

javascript collections models backbone.js

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

Makefile中的条件语句是否有效语法

我有以下Makefile

~/w/i/craft-api git:develop ??? cat Makefile                                                                                     ? ? ?
test:
    echo "TODO: write tests"
generate-toc:
    if ! [ -x "$(command -v doctoc)" ]; then
        echo "Missing doctoc. Run 'npm install doctoc -g' first"
    else
        doctoc ./README.md
    fi
Run Code Online (Sandbox Code Playgroud)

我遇到了这个错误

~/w/i/craft-api git:develop ??? make generate-toc                                                                                  ? ?
if ! [ -x "" ]; then
/bin/sh: -c: line 1: syntax error: unexpected end of file
make: *** [generate-toc] Error 2
Run Code Online (Sandbox Code Playgroud)

我的Makefile语法/用法有什么不正确?

编辑1

添加行继续反斜杠似乎无法解决问题:

~/w/i/craft-api git:develop ??? cat Makefile                                                                                     ? ? ?
test:
    echo …
Run Code Online (Sandbox Code Playgroud)

bash shell makefile

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