2011年10月31日 星期一

在 ubuntu 上的 php 中 exec python 腳本

ubuntu 裡的權限管理非常的嚴格,常常造成子程序沒有權限執行,而 exec 指令中雖然可以加上 sudo,但 ubuntu 的 sudo 仍有「互動式輸入密碼」的問題。
比較好的解法,便是讓 sudo 不需要輸入密碼,而詳細的解法可以參考底下的連結

 

2012/10/15 更新

若要完全取消 sudo 的密碼,可以試試

sudo visudo

# %sudo ALL=(ALL:ALL) ALL
%sudo ALL=(ALL:ALL) NOPASSWD: ALL

2011年10月23日 星期日

用 python 蒙太奇(Montage)、馬賽克(Mosaic) 你的圖片

angelbaby.mosaicangelbaby 

蒙太奇一下我的女神(Angelbaby),這是用 1619 張圖片,縮成 5x5 pixel,且一張小圖最多只能使用 100 次拼湊出來的效果。

 

這是原程式碼

https://github.com/sameeptandon/python-mosaic

 

原程式碼提供的蒙太奇少了兩樣我想要的功能:

  1. 可限定一張小圖可使用的次數。(原程式碼永遠是挑選最像的那張小圖)
  2. 放入小圖時,他是規律性的由上至下,由左至右的放入,而不是隨機跳動。(這功能必須先有上述功能才有意義)

所以動手改了一下,

檔案下載 mosaic.py

使用方式如下:

image

主要參數紅框由左至右的意義是:

  1. 目標圖片
  2. 圖片資料夾
  3. 目標圖片切割成每小塊的寬跟高
  4. 圖片縮小成小圖後的寬跟高
  5. 一張小圖可用的次數(但如果小圖不夠多,則會重新計數)

 

成果要越像,那麼

  1. 圖片資料夾越多圖片越好
  2. 寬跟高越小越好
  3. 一張小圖可用次數越高越好

 

以上

2011年10月10日 星期一

Facebook 非讚不可 php 語法

image

試了一下網路上「非讚不可」的 fbml 語法,是利用

 
<fb:visible-to-connection>

來達成的,但卻可以從原始碼中看到隱藏的內容。

 

看了一下 facebook-php-sdk,其實也可以用這樣的方式達成

 
require_once "lib/facebook.php";
 
$app_id = "";
$app_secret = "";
 
$facebook = new Facebook(array(
    'appId' => $app_id,
    'secret' => $app_secret,
    'cookie' => true
));
 
$user = $facebook->getUser();
$signed_request = $facebook->getSignedRequest();
 
$is_fan = false;
 
if ($signed_request) {
    if($signed_request['page']['liked']) {
        $is_fan = true;
    }
}
 
if ($is_fan) {
    include('fan.php');
} else {
    include('guest.php');
}

 

 

在這邊看到一樣的方法,他寫的比較詳細!

http://nocturnsoft.com/devblog/?p=526