2010年11月13日 星期六

如果怎樣都這樣 Cannot modify header information - headers already sent by

可能是空白造成的
如果怎樣都無法解決
試著開一個新檔案Untitled-1.php
然後把原本的程是馬複製到這一頁來 存檔!!解決!!
good job

2010年4月10日 星期六

GD2簡單裁圖寫法

$big_width=550;
$big_height=500;
$small_width=143;
$small_height=104;

$destDir = "upload_image/news";

//檔案命名
$Name = date("YmdHis") . "_" . substr(md5(uniqid(rand())),0,5) . "." . $Ext;
//複製暫存檔
copy($_FILES['Photo3']['tmp_name'][$i] , $destDir . "/" . $Name );

//預覽圖
$src = $destDir . "/" . $Name;
$dest = $destDir . "/thum/" . "thum_" . $Name;
$destW = $small_width;
$destH = $small_height;
$nb3=$Name;//存圖片名稱
imagesResizeSmall($src,$dest,$destW,$destH);

function imagesResizeSmall($src,$dest,$destW,$destH) {
if (file_exists($src) && isset($dest)) {
//取得檔案資訊
$srcSize = getimagesize($src);
$srcExtension = $srcSize[2];
$srcRatio = $srcSize[0] / $srcSize[1];
//依長寬比判斷長寬像素
$destH = $destW / $srcRatio;
}

//建立影像 建立小圖的框
if($destH>=104){
$destImage = imagecreatetruecolor($destW, 104);
}else{
$destImage = imagecreatetruecolor($destW, $destH);
}
//根據檔案格式讀取圖檔
switch ($srcExtension) {
case 1: $srcImage = imagecreatefromgif($src); break;
case 2: $srcImage = imagecreatefromjpeg($src); break;
case 3: $srcImage = imagecreatefrompng($src); break;
}

//取樣縮圖 取大圖縮放後 放在小圖的框裡
imagecopyresampled($destImage, $srcImage, 0, 0, 0, 0,$destW,$destH,imagesx($srcImage), imagesy($srcImage));

//輸出圖檔
switch ($srcExtension) {
case 1: imagegif($destImage,$dest); break;
case 2: imagejpeg($destImage,$dest,100); break;
case 3: imagepng($destImage,$dest); break;

//釋放資源
imagedestroy($destImage);
}
}

2010年4月7日 星期三

CSS初級版面設定碎片1

#container {
margin: auto;
width: 974px;//整個div的寬度
height: 1084px;//整個div的高度要衝到哪
background-image: url(image/service_bg.jpg);//div的背景
line-height: normal;
}

然後使用<div id="container">….可以包表格拉 沙小啦 都可以</div>

CSS相對目錄位置設定

假設資料夾有
css
service { image/bg.jpg }

而css裡有c1.css
service裡有service.htm 又service裡有image/bg.jpg
所以c1.css裡的
background-image: url(../service/image/bg.jpg);

2010年3月28日 星期日

輸入文字到php上要斷行

原來不是在as3的輸入文字上作設定
只要輸入文字是多行

傳到php時 記得要nl2br呀
怎麼可以忘記最初的基本呢?

2010年3月27日 星期六

AS3 輸入EMAIL格式檢查

var email:String='linxxxxx@gmail.com';
var emailExp:RegExp=/\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
trace(emailExp.test(email));

輸入文字多行比對失敗

如果是多行文字,用單行文字比對會失敗(怎麼辦?)
例如多行文字的t1.text是'訊息內容 / Message'
使用
var intext:String='訊息內容 / Message';
開始比對
if (t1.text==intext) {
比對成功
}
但是怎麼比對都失敗
後來發現是因為多行的文字都會多換一行加一個空白(不知道為啥?)
只好使用下面方法,先截取已知文字再進行比對(但總不是個好方法)
e.currentTarget.text=e.currentTarget.text.substring(0,14);(因為訊息內容 / Message是14字)
intext='訊息內容 / Message';
if (t1.text==intext) {
比對成功
}

2010年3月22日 星期一

Rewrite網址

常常看到 xxx1547.html但明明是php的網站
那就是利用Rewrite網址辦到的

1.
是用wamp的話 選擇Apache Modules的rewrite_module把他開啟
2.在根目錄資料夾放一個檔名叫做.htaccess檔案
在裡面寫規則 把什麼換成什麼
例如要把noticedetail33.html換成
noticedetail.php?not_id=33
(但實際看到是noticedetail33.html)
也就是雖然使用者輸入的是noticedetail33.html
看到的也是noticedetail33.html但其實內部給網址實是給成noticedetail.php?not_id=33
就這樣寫
RewriteRule ^noticedetail(\w+).html?$ noticedetail.php?not_id=$1
//全部是
RewriteEngine on
#RewriteBase /
#3
RewriteRule ^noticedetail(\w+).html?$ noticedetail.php?not_id=$1

(底下這步還在困擾)
但是原本你寫的檔案noticedetail.php裡的程式原本是寫成noticedetail.php?not_id=<?php echo $GET['not_id'];?>的話都要改寫成noticedetail<?php echo $GET['not_id'];?>.html

2010年3月19日 星期五

鋼彈RX-78 1比1等身


1比1的鋼彈RX-78耶!,我覺得能直接看上一眼我就會落淚!
我決定了!!要趕快買RX-78的模型放在家裡膜拜

2010年3月17日 星期三

javascript裡的物件表示

document.form1._y.value=5;
表示文件裡的form的id叫做form1裡的id叫_y的物件 讓他的值等於5

2010年3月15日 星期一

隱藏div

這樣是隱藏
<div id="myHeight" align="center" style='display:none;' >

這樣是不隱藏
<div id="myHeight" align="center" style='display:;' >

2010年3月11日 星期四

PHP導向目前網址兼帶目前參數

$filename_logout = basename($_SERVER['PHP_SELF']);//轉到目前網址不帶參數
$filename = $_SERVER['REQUEST_URI'];//帶著參數轉到目前網址

$_SERVER[PHP_SELF]=’/index.php’
$_SERVER[SCRIPT_NAME]=’/index.php’
$_SERVER[QUERY_STRING]=’u=admin&p=123456′
$_SERVER[REQUEST_URI]=’/index.php?u=admin&p=123456′

從上面2個例子來看,大概也可以歸類幾個重點:
$_SERVER[QUERY_STRING]:查詢的字串,也就是獲取?後面的查詢字串
$_SERVER[REQUEST_URI]:取得網域名稱後面所有的字串,也就是http://homeserver.com.tw後面所有的字串

寄信標題亂碼(outlook收信之類的)

//寄信
$mailtype='Content-Type:text/html;charset=utf8';
$mailFrom=$_POST['cn_email'];
$mailTo=xxx@xxx.com.tw';
$mailCC='link7311@gmail.com';
$mailBCC='';
$mailSubject=$_POST['cn_title'];
$mailSubject = "=?UTF-8?B?" . base64_encode($mailSubject) . "?=";//<---------要加這一行
$mailContent = "Content: ";
$mailContent .=nl2br($_POST['cn_content']);
$mailContent .= "<br>";
$mailContent .= "Name: ";
$mailContent .= $_POST['cn_name'];
$mailContent .= "<br>";
$mailContent .= "Phone: ";
$mailContent .= $_POST['cn_phone'];
$mailContent .= "<br>";
$mailContent .= "Company: ";
$mailContent .= $_POST['cn_company'];
$mailContent .= "<br>";
$mailContent .= "Email: ";
$mailContent .= $_POST['cn_email'];
$mailContent .= "<br>";
$maildata = "From:$mailFrom\r\n";
if ($mailCC != '') {
$maildata .= "CC:$mailCC\r\n";
}
if ($mailBCC != '') {
$maildata .= "BCC:$mailBCC\r\n";
}
$maildata .= "$mailtype";
mail($mailTo,$mailSubject,$mailContent,$maildata);

2010年3月10日 星期三

沒想到DW跟WORD居然可以互通照片

在word的照片對他按複製
再到DW但貼上此時會自動問你要存成多少品質的jpg
然後存放路徑到哪

真是太方便啦

2010年3月8日 星期一

javascript 取得圖片長寬

function getImgSize(imgSrc)
{
var newImg = new Image();
newImg.src = imgSrc;
var height = newImg.height;
var width = newImg.width;
alert ('The image size is '+width+'*'+height);
}
</script>

使用
onclick="getImgSize('images/testout_r1_c2.jpg')"

2010年3月2日 星期二

IE中打開UTF-8編碼網頁顯示空白問題

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>聯絡我們</title>

語系宣告要再<title>之前

2010年3月1日 星期一

去掉按下去連結的虛線框

<a href="#" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Image75','','img/about2/about-2_over_r12_c13.jpg',1)" hidefocus="true">

連結後面加上hidefocus="true"就可以去掉按下去連結的虛線框

2010年2月26日 星期五

直接選取範圍

按Ctrl +點圖層 可以直接作選取範圍

imageMagic先等比縮圖再裁切

//切記後面都要有空格"convert -resize 143 空格"."imageMagic/01.jpg"." 空格"."imageMagic/01_conver.jpg"

//先縮圖
$exec_str="convert -resize 143 "."imageMagic/02.jpg"." "."imageMagic/02_conver.jpg";//以寬為比例
exec($exec_str);

//再裁切
$exec_str="convert -crop 143x104+0+0 "."imageMagic/02_conver.jpg"." "."imageMagic/02_crop.jpg";//裁切圖+0+0是指偏移量
exec($exec_str);

2010年2月25日 星期四

資料集導覽列勿忘這一行

$currentPage = $_SERVER["PHP_SELF"];//<--這行一定要呀

搜尋並取代字串(關鍵字變紅色)

<?php
function searchReplace($content,$keyword){
$change = ereg_replace ( $keyword, '<strong><span class="search13">'.$keyword.'</span><strong>', $content);
return $change;
}
?>

CSS

.search13 {
text-transform: none;
color: #FF0000;
font-size: 13px;
letter-spacing: 0.1em;
text-indent: 1px;
word-spacing: 0.6em;
}

用法
1.先配合MySql搜尋(看自己的記憶碎片第六片-php關鍵字搜尋)
2.searchReplace($row_RecNews['news_content'] ,$_GET['keyword']);
3.那個keyword是從上一頁GET過來的
4.可配合切割中文字元

2010年2月24日 星期三

重複一樣的動作-笨蛋版

1.把所有要做的檔案拉進來,都開啟完後
2.先找到動做面板
3.把預設動做刪除
4.新增動作選擇F2為開啟(執行)鍵
5.然後此時就會開始錄下你所做的動作
6.你可以選擇調整影像尺寸 xx X xx
7.再來儲存檔案為jpg選擇8品質
8.做完一張後
9.其他張開始都按F2就好啦

2010年2月9日 星期二

PNG看的到按的到,看不到按不到(AS3)

用這個吧
InteractivePNG.as

把轉換成MovieClip元件後基底類別改成com.mosesSupposes.bitmap.InteractivePNG

然後若要調整多少可以在InteractivePNG.as找到
protected var _threshold : uint = 0; //改這裡 0是完全透明才按不到

這兩天有預知能力

夢到石老闆和威廉斯 1分鐘後 威廉斯就打來說時好闆找你

2010年2月7日 星期日

已去背的物件選取 上色

先選取工具框起來,然後Crtl+J(拷貝圖層)

再對新圖層點兩下,選擇顏色覆蓋

圖片移入灰階 移出彩色

.picOver {
    filter:alpha(opacity=100) Gray; opacity:0.5; moz-opacity:0.5;
}
.picOut {
    filter:;
}

<img src="cms/<?php echo $row_RecNews['news_s_photo1']; ?>" border="0" onmouseover="this.className='picOver'" onmouseout="this.className='picOut'" />

切割中文字元

mb_substr(strip_tags($row_RecNews['news_content']),0,68,"UTF-8");

用mb_substr 這樣可以正確切割中文字元 但還是會有英文問題 先用用吧

2010年2月4日 星期四

亂數要幾個(從1~5)

var many:Number = Math.floor(Math.random() * 5) + 1;

我永遠會忘記,所以自己記起來

看忠犬小八真的讓我落淚了

也許很多人看完了都沒啥感覺,會說"到底演完了沒"
但這部電影用一種第一人稱的感覺,配合內心感很重的輕旋律
常常進入小八的眼中"視"界,然後灰白的,不能說話的

堅持等待,堅持那是自己的使命,堅持去做即使已經知道結果的事
仍堅持了10年

我真的被擊中淚點了
靠 淚流滿面
久久跳脫不出來
X的

CSS文字左右對齊

<div style="text-align:justify;text-justify:inter-ideograph">一大串文字放這裡</div>

2010年2月1日 星期一

數距比率轉換公式

簡單數學

所要求的值Target

(Target-新距離原點)/(新距離終點-新距離原點)=(已知點-舊距離原點)/(舊距離終點-舊距離原點)

2010年1月25日 星期一

as3 文字 自動斷行

var _text:TextField = new TextField();
_text.text='金融卡交易未登摺次數金融卡交易未登摺次數金融卡交易未登摺次數金融卡交易未登摺次數';
_text.type='dynamic';
_text.autoSize = TextFieldAutoSize.LEFT;
_text.wordWrap=true; //一定要這行呀
_text.width =150;
addChild(_text);

as3滾輪偵聽 判斷上下滾

this.addEventListener(MouseEvent.MOUSE_WHEEL, GoWheel);
function GoWheel(e:MouseEvent):void {
if (e.delta 小於 零){

}else { //向上滾

}
}

//如果是用物件去偵聽 就必須到該物件區域或對該物件按一下 所以用整個區域來偵聽吧

2010年1月21日 星期四

as3漸層遮色片

轉自奶綠作法

1.製作一個物件,取名為_mc
2.製作一個漸層,一邊帶alpha的色塊,並轉成movieClip,取名為mask_mc
3._mc和mask_mc二者的屬性面版,右下方有個User run time caching都要打扣
(如果用程式寫法就要_mc.cacheAsBitmap=mask_mc.cacheAsBitmap=true;)
4.在時間軸上寫程式碼:
AS3:_mc.mask = mask_mc;

感謝奶綠

2010年1月20日 星期三

記憶碎片第六片-努力向上裡面很多資料

swfaddress的範例及資料在
在E:\努力向上\衝向FLASH資料庫\as3手札\全FLASH TOOL

swfaddress用法

將swfaddress.js放到js資料夾裡

然後在主頁加入下面這一段
<script src="js/swfaddress.js" type="text/javascript"></script>

as裡加入

SWFAddress.addEventListener(SWFAddressEvent.CHANGE, handleSWFAddress);

function handleSWFAddress(e:SWFAddressEvent) {
//SWFAddress.setTitle('/kk/');
}

注意 字串一定要用單引號 'xxx' 不能雙引號

然後個按鈕可以這樣用

SWFAddress.setValue('/kk/');

範例程式碼

  1: function btnClick(e:MouseEvent) {
  2:  SWFAddress.setValue('/second/');
  3: }
  4: kk.addEventListener(MouseEvent.MOUSE_DOWN,btnClick);
  5:
  6: // SWFAddress handling
  7: function handleSWFAddress(e:SWFAddressEvent) {
  8:  //SWFAddress.setTitle('/kk/');
  9:  if(e.value=='/second/'){
 10:  gotoAndStop('/second/');
 11:  }
 12: }
 13: SWFAddress.addEventListener(SWFAddressEvent.CHANGE, handleSWFAddress);
 14: stop();


p.s有些swfobject版本搭配的話好像會失敗,要用swfaddress2.4裡的cs3裡的swfaddress和swfobject



例如目前測試用flashdevelop new出來的project自動產生的bin裡的js裡的會失敗的樣子?????



自己放在



E:\努力向上\衝向FLASH資料庫\as3手札\全FLASH TOOL

2010年1月14日 星期四

很棒的死肉梗

Keep it simple & stupid.

亂數不重複_陣列法

var orgArray:Array = new Array();//原陣列
var newArray:Array = new Array();//新陣列 結果陣列

//先決定全部是多少,也就是要從多少選出來
for (var ni = 0; ni <= 29; ni++) {
orgArray[ni] = 'img/'+(ni + 1)+'.jpg';
}

//選10張出來,並且不重複
for (var xi = 0; xi <= 9; xi++) {
//記錄這次選出的是原陣列的第幾個索引,亂數所引值
var catche:Number = Math.floor(Math.random() * (orgArray.length - 1)) ;
//把選出來的索引移除舊陣列,並儲存在新陣列裡
newArray[xi] = orgArray.splice(catche, 1);

}

trace(newArray);

陣列移除_插入元素

//splice(第幾個開始,移除幾個,插入物件)

var vegetables:Array = new Array("spinach",
"green pepper",
"cilantro",
"onion",
"avocado");

var spliced:Array = vegetables.splice(2, 2);
trace(vegetables); // spinach,green pepper,avocado
trace(spliced); // cilantro,onion

vegetables.splice(1, 0, spliced);
trace(vegetables); // spinach,cilantro,onion,green pepper,avocado

亂數含間距組

var Spacing:Number=10 ;//間距
var startCount:Number=2 ;//起始組別
trace(Math.floor(Math.random() * Spacing) + ((startCount - 1) * Spacing) + 1);

2010年1月11日 星期一

記憶碎片第六片-php 關鍵字搜尋

搜尋
$query_RecNews = sprintf("SELECT * FROM news WHERE news_subject LIKE %s AND news_active = 1 ORDER BY news_date DESC", GetSQLValueString("%" . $colname_RecNews . "%", "text"));

LIKE %s 然後 用GetSQLValueString("%" . $colname_RecNews . "%", "text"));//兩個%符號夾中間

可模糊搜尋到只要有 包含關鍵字就出來

已知三邊或斜率來換算角度

var angle =Math.atan(tan)*(180/Math.PI);
trace(angle);

//(180/Math.PI)弧度化角度乘的180/PI
//sin=對邊/斜邊
//cos=鄰邊/斜邊
//tan=對邊/鄰邊
//cot=鄰邊/對邊

2010年1月10日 星期日

2010年1月9日 星期六

wamp 虛擬主機設置方式(多個網域對應一個IP主機)

1.
先找到C:\wamp\Apache2\conf 下的httpd.conf
找這一行
Include conf/extra/httpd-vhosts.conf
然後把#號取消

2.
C:\wamp\Apache2\conf\extra 下的httpd-vhosts.conf
改成這樣
#
# Virtual Hosts
#
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at
#
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.

#
# Use name-based virtual hosting.
# 宣告虛擬網站所要使用的IP
NameVirtualHost 120.xxx.116.31:80

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any block.
#


# 第一個虛擬網站(即原來的主網站名稱)
DocumentRoot C:/wamp/www/
ServerName www.xxx.com.tw

# 第二個虛擬網站
DocumentRoot C:/wamp/www/aircool
ServerName aircool.xxx.com.tw


3.去設定網址的DNS對應 "新增"將 123.xxx.com.tw 的A記錄 對應到你的主機IP


wamp phpmyadmin改成cookie的方式

1.去C:\wamp\Apache2\conf\alias找phpmyadmin.conf
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order Allow,Deny
Allow from all
#一定要照上面改不然會不能啟動apache


2.C:\wamp\phpmyadmin找config.inc.php
改成這樣
$cfg['blowfish_secret'] = 'cookie';
$cfg['Servers'][$i]['auth_type'] = 'cookie';

php常用函數

nl2br ()換行
substr(str,0,長度)

記憶碎片第五片-php寄信

$mailtype='Content-Type:text/html;charset=big5';
$mailFrom='info@xxx.com';
$mailTo='xxx@gmail.com,xxx@yahoo.com.tw';
$mailCC='info@xxx.com';
$mailBCC='';
$mailSubject=$row_Recedm['edm_title'];
$mailContent =$row_Recedm['edm_content'];
$maildata = "From:$mailFrom\r\n";
if ($mailCC != '') {
$maildata .= "CC:$mailCC\r\n";
}
if ($mailBCC != '') {
$maildata .= "BCC:$mailBCC\r\n";
}
$maildata .= "$mailtype";
mail($mailTo,$mailSubject,$mailContent,$maildata);

IE 下載前詢問我

打開IE->工具->網際網路選項->進階->"下載完成時通知我"

2010年1月8日 星期五

2010年1月7日 星期四

記憶碎片第四片-後台樣版資料

後台是在cms資料夾裡(可參考駿X電子)

然後MENU的圖是在cms/image裡的photoshop檔

樣板再TEMPLATE資料夾裡
注意樣板除了要改MENU(還有$menu_is這個參數唷) 還要改下方的次選單

上傳檔案都會傳去 fileuplod
上傳圖片都會傳去 imageupload
都會依資料庫表格名稱開資料夾

FlashDevelop 安裝篇

官網

參考

debug Trace
要去Adobe下載debug 版的 player (目前是FOR IE)

要趕快學JQUERY

要趕快學JQUERY

記憶碎片第三片-傳id值,上傳圖片,上傳檔案

php資料庫最重要就是傳id值 給下一頁接收

傳圖片都是用 多隆寫的 photo_process(以改成Happyphoto_process)
傳檔案都是用 多隆寫的 datafile_process

2010年1月6日 星期三

記憶碎片第二片-網站伺服器WAMP及ImageMagic

基本拿手的PHP絕對不能忘阿

先灌WAMP這套網頁伺服器工具吧
裡面包含Apache server , MySql ,PhpmyAdmin

然後再安裝ImageMagic(縮圖工具)

再重開機 一定要重開機

2010年1月5日 星期二

FlashDevelop的new Project用法

new as3 Project(使用FlashDevelop做compiler)
然後src放as檔
lib放swc檔
bin資料夾會自動稱成swf

(寫這篇時候 腦中閃過好像有夢過熟係的場景 又是呆加付)

新PV3D有修正破圖

view.renderer=new QuadrantRenderEngine(QuadrantRenderEngine.CORRECT_Z_FILTER);

原來Tweener可以傳參數也可以一邊更新數值

onUpdate: 函式,
onUpdateParams: [e]

as3備忘

getChildByName傳回的是DisplayObject
所以不行getChildByName('BigMovie').stop();
要改成MovieClip(getChildByName('BigMovie')).stop();

Sprite.addEventListener 傳入function時的e.currentTarget的型態 居然是Object嗎?
要這樣寫
var expose:Object = e.currentTarget;
不能這樣
var expose:Sprite = e.currentTarget;

2010年1月3日 星期日

YA!!第一篇記憶碎片

第一篇記憶碎片
就是為了當兵不要出來變智障和胖子

我要使用朱學亭老師的名言
Keep memory in internet to help memory in brain