PHP 將字串寫入檔案,fopen()參數說明

$str = ‘測試字串’;
$fp = fopen(‘text.txt’,’w’);
fwrite($fp, $str);
fclose($fp);

fopen()參數說明

  • ‘r’ 開檔案模式為唯讀,檔案指標指到開始處。
  • ‘r+’ 開檔案模式為可讀寫,檔案指標指到開始處。
  • ‘w’ 開檔案模式為寫入,檔案指標指到開始處,並將原檔案的長度設為 0。若檔案不存在,則建立新檔案。
  • ‘w+’ 開檔案模式為可讀寫,檔案指標指到開始處,並將原檔案的長度設為 0。若檔案不存在,則建立新檔案。
  • ‘a’ 開檔案模式為寫入,檔案指標指到檔案最後。若檔案不存在,則建立新檔案。
  • ‘a+’ 開檔案模式為可讀寫,檔案指標指到檔案最後。若檔案不存在,則建立新檔案。
  • ‘b’ 若動作系統的文字及二進位檔案不同,則可以用此參數,UNIX 系統不需要使用本參數。

[……]

閱讀更多

PHP 以 Curl 傳遞 POST 資料,並取得回傳值

Curl 傳遞 POST 資料,並取得回傳值

/**
* VECTOR COOL
* https://vector.cool
*/
//用curl傳post並取回傳值
//一定要傳絕對路徑
function curl_post($url,$post)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST,true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST,'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$result = curl_exec($ch);
curl_close ($ch);
return $result;
}

使用範例:

/**
* VECTOR COOL
* https://vector.cool
*/
$url='http://tw.yahoo.com';
$post_value= array(
'name' => 'JACK',
'age' => '20',
'phone' => '0968123456',
'address' => '台灣'
);

echo curl_post($url,$post_value);

 [……]

閱讀更多

PHP 時間運算 日期或時間加減

字串格式的日期時間轉成Time

‘2015-03-04 12:03:25’這就是字串格式的日期時間,都要先轉為time加以運算,運算完成再用date()去格式化日期。
例如資料庫dateTime時間格式或timestamep時間格式,需先轉成time才有辦法做運算
/*
	https://vector.cool
*/
$time = strtotime('2015-03-04 12:03:25');
//output : 1425441805

以下提供三種方法進行日期時間加減運算

一、慢慢算

/*
	https://vector.cool
*/
date_default_timezone_set("Asia/Taipei");
$next_Month = 30*24*60*60;//30天*24小時*60分*60秒
echo date('Y-m-d',strtotime('2015-03-04 12:03:25')+$next_Month);

二、使用 mktime()

/*
	https://vector.cool
*/
date_default_timezone_set("Asia/Taipei");
$date=date("Y-m-d",mktime(hr,min,sec,mon,day,year))

//例如:今天再加5天
date("y-m-d",mktime(0,0,0,date("m"),(date("d")+5),date("y")))

Reference:http://php.net/manual/zh/function.mktime.php

三、使用 strtotime()

strtotime()這東西比我想像聰明多了耶

/*
	https://vector.cool
*/
date_default_timezone_set("Asia/Taipei");
echo strtotime("now")."<br/>";
echo strtotime("10 September 2000")."<br/>";
echo strtotime("2020-09-29 +1 day")."<br/>";
echo strtotime("+1 day")."<br/>";
echo strtotime("+1 week")."<br/>";
echo strtotime("+1 week 2 days 4 hours 2 seconds")."<br/>";;
echo strtotime("next Thursday")."<br/>";
echo strtotime("last Monday")."<br/>";

Reference:http://php.net/manual/zh/function.strtotime.php

[……]

閱讀更多

PHP bmp 縮圖時產生 Call to undefined function imagecreatefrombmp() 解決方法

Fatal error: Call to undefined function imagecreatefrombmp()
其實PHP的確沒有 imagecreatefrombmp() 這個 function ,解決方法就是引入下列文件 ,就有imagecreatefrombmp()啦~解決~

點擊下載 imagecreatefrombmp.inc.php
https://docs.google.com/file/d/0B0WjmRBDYP2fZGl1U1dnMUpNdFk/edit?usp=sharing

但是輸出bmp的時候問題又來了,PHP bmp輸出的圖片無法開啟,
用magewbmp()這個function,很怪,
估狗了一下好像不只我有這種狀況,
有人是使用imagejpeg()來替代magewbmp()輸出,
沒辦法問題還是要解,我目前也是用者種方法,
若有高手剛好就知道有更好的解法請不吝與大家分享~謝謝

解決方法:
有人是使用imagejpeg()來替代magewbmp()輸出,
//magewbmp($image, $file ); //bmp輸出無法開啟
imagejpeg($image, $file , $quality );[……]

閱讀更多

PHP Imagetype 常數對應表

雖然我們常用的沒有那麼多~不過還是全部列出來囉~有需要的捧油請自行參考。

■藍色標記是我

1   IMAGETYPE_GIF
2   IMAGETYPE_JPEG
3   IMAGETYPE_PNG
4   IMAGETYPE_SWF
5   IMAGETYPE_PSD
6   IMAGETYPE_BMP 

7   IMAGETYPE_TIFF_II (intel byte order)
8   IMAGETYPE_TIFF_MM (motorola byte order)
9   IMAGETYPE_JPC
10 IMAGETYPE_JP2

11 IMAGETYPE_JPX
12 IMAGETYPE_JB2
13 IMAGETYPE_SWC
14 IMAGETYPE_IFF
15 IMAGETYPE_WBMP
16 IMAGETYPE_XBM
17 IMAGETYPE_ICO 

原文:http://php.net/manual/en/function.exif-imagetype.php[……]

閱讀更多

過濾script…等可能引入惡意內容或惡意改變顯示布局的代碼

//過濾 <script 等可能引入惡意內容或惡意改變顯示布局的代碼,如果不需要插入flash等,還可以加入<object的過濾
function filter_danger_code($str)
{
 $farr = array(
 “/s /”, //過濾多余的空白
“/<(/?)(script|iframe|style|html|body|title|link|meta|object|?|%)([^>]*?)>/isU”, //過濾 <script 等可能引入惡意內容或惡意改變顯示布局的代碼,如果不需要插入flash等,還可以加入<object的過濾
“/(<[^>]*)on[a-zA-Z] s*=([^>]*>)/isU”, //過濾javascript的on事件

);
 $tarr = array(
 ” “,
 “<\1\2\3>”, //如果要直接清除不安全的標簽,這里可以留空
“\1\2”,
 );

 $str = preg_replace( $farr,$tarr,$str);
 return $str;
}[……]

閱讀更多

mysql的sql檔太大無法匯入又無法更改php.ini 解決方案 BigDump

在MySQL中匯入資料庫的方式有很多種,其中一般比較不熟MySQL指令、或沒有伺服器管理權限的使用者,最常用的方式就是使用phpMyAdmin管理程式的匯入介面來上傳、匯入。不過如果你的「.sql」檔案超大的話,則很容易遇到伺服器的執行時間或檔案大小的限制,結果就是太大的「.sql」檔無法順利上傳、匯入到資料庫中。如果遇到這類情況,而你又沒有權限可以修改「php.ini」檔案中的設定的話,那該怎麼辦呢?

介紹一個相當實用的「BigDump」小工具,他可以幫我們將超大的「.sql」資料檔直接匯入到MySQL資料庫中,儘管你沒有權限修改「php.ini」組態檔中的「upload_max_filesize」或「max_input_time」…等設定值,也可以直接用「BigDump」這支小程式來完成超大資料庫的匯入工作。

重灌狂人這篇文章介紹的很詳細,也有詳細的
若有需要的冰友呀~請瀏覽下方網址

***

轉自:重灌狂人
標題:如何匯入大於2MB以上的MySQL資料庫? (BigDump)

網址:http://briian.com/?p=5102

[……]

閱讀更多