本文目錄一覽:
- 1、php 如何判斷下一個月 幾號
- 2、PHP加月份的bug問題
- 3、誰幫我制定個一個月學習PHP計劃?
- 4、如何在短時間內(一個月)學好php有什麼好的方法
- 5、在php中如何獲得未來時間?
- 6、在php中用expires設定一個月後過期怎樣寫
php 如何判斷下一個月 幾號
用php的date函數去判斷
獲取年:date(‘Y’);
獲取月:date(‘m’);
獲取日:date(‘d’);
獲取時:date(‘H’);
獲取分:date(‘i’);
獲取秒:date(‘s’);
例如,判斷今天是不是10月16日
?php
if(date(‘m’) == 10 date(‘d’) == 16){
echo ‘今天是10月16日’;
}else{
echo ‘今天不是10月16日’;
}
?
PHP加月份的bug問題
這本身算是PHP的一個bug,就是如果本月有31天,那麼在本月31日的基礎上增加(或減少)n個月,如果目標月份的天數少於31,那麼就會把相差的天數累加到下一個月,比如今天是2019-7-31,有31日,那麼增加一個月就是2019-8-31,這個沒問題,但如果是增加兩個月,按理是2019-9-31,但9月是30天,那麼就變成2019-10-1了。2月份是個特殊月份,只有28天或29天,如果目標月份剛好是2月,誤差就會更大(而且即使當前月份的天數是30,遇到目標月份是2月也一樣會有誤)。
解決辦法最好是自己寫個處理月份加減的函數,比如當要計算的日期是29、30、31時,就要做特殊的處理,其他日期就按正常方法處理。下面是處理要計算的日期是31時的方法,其他日期自己處理:
date(‘Y-m-d’, strtotime(‘last day of +2 month’,strtotime(‘2019-12-31’)))
誰幫我制定個一個月學習PHP計劃?
問題1:環境搭配 php最經典的組合當然是LAMP(Linux+Apache+MySQL+PHP)了,不過我沒有條件和精力弄Linux所以用Windows 2003代替Linux了,自己調試用,又不是做服務器,所以不要求性能足夠用了。本身我的機器是Win2003+IIS+Framework環境能跑起來ASP和.net,並且裝有jdk+tomcat+oracle還能跑起來jsp,本打算不破壞這些環境再安裝apache和mysql,不過困難重重啊。。於是放棄jsp環境,並且用ghost備份了asp環境,刪掉IIS後重新安裝PHP環境,環境還是很好搭的,在百度上輕易的找到教程照着安裝就可以Apache+PHP+MySQL+PHPMyAdmin,沒有安裝Zend,以後深入學習的時候再說吧,沒有研究明白多個網站的時候怎麼存在不同的路徑運行在不同端口,也先不管了,現在80端口跑吧,環境調試好了以後備份了一個ghost,算是php環境成功搭起來了。問題2:對utf-8編碼文件的標記BOM導致的頁面空行 這個問題以前在學習xhtml+css的時候遇到過,那時候是因為文檔聲明類型前面加別的代碼了或者沒有寫文檔聲明類型xhtml1.0卻用w3c的標準做頁面導致的,起初我以為也是把require寫在文檔聲明前面出的問題呢,後來反覆調試發現不是這麼簡單,後來上百度搜索了很多關於require引起空行的問題,有一個牛人提到了要在dreamweaver裡面ctrl+j把utf-8編碼的BOM去掉,當時也不懂BOM是啥,說去掉就去掉吧,確實解決問題了,這算是把這一關過去了,不過後面還有utf-8的問題呢,也是跟這個有關係。問題3:php下checkbox的取值問題 這是我發現php唯一一個不方便的地方,不像asp那樣,所有同名的checkbox的值存成一個集合,php只能取同名里最後一個checkbox的值,在做多數據where in (aa,bb,cc,dd)查詢的時候很不方便,只能用js+一個hidden input的方法實現,雖然有點小麻煩,不過不是大問題,很容易就解決了,上網查了一下也確實只有這麼才能解決!問題4:Access庫轉到MySQL的問題 畢竟數據庫已經設計好了,再在PHPMyAdmin中建一次表也很麻煩,索性找個軟件來直接轉庫,還不錯讓我找到各爆好用的軟件,不過全英文界面,名字沒記住,明天去公司看看再發上來,庫很輕鬆的轉過來了,但是我手很賤,看到MySQL裡面的data文件夾下有和我建的數據庫一樣名字的文件夾,我以為有這個文件夾就不用建庫倒庫了,一時興起把沒用的都刪掉了,問題來了PHPMyAdmin連不上庫了,這個倒是好解決,重裝了一次MySQL解決問題,可是我沒備份就換回ASP環境,再換回來的時候MySQL出大問題了,重裝都不管用了,上百度一頓神搜,最終csdn的牛人給了答案“把libmysql.dll和php5ts.dll考到system32下”,解決問題。問題5:NTFS權限問題。 這個問題ASP上也出現過,不過換在PHP環境就沒多一份心往這方面想,所以足足憋了我一上午,發現這個問題是在朋友的服務器上,前一天喝酒正好認識一個哥們兒遇到php建站的問題了,接着酒勁我就裝了一把,說我php多牛多牛啊,知道的我才學2星期,哈哈哈,第二天就給人家解決問題吧,牛都吹出去了也不能不管人家,連上服務器一看原來是安裝phpcms的時候遇到了MySQL問題安裝無法繼續進行了,百度上一頓神搜找到問題關鍵了是NTFS權限問題,這就好解決了,加個Internet來賓用戶就解決了,估計自己以後也會遇到這問題,所以早遇到比晚遇到強,關鍵時候知道怎麼回事兒!問題6:Cookies讀寫問題。 這個問題應該不是很大的問題,只不過當天馬上下班了,沒有來得及解決,第二天很輕易的就搞定了,剛開始學習肯定語句掌握的不多,以為$_COOKIE[“xxx”]既可以讀也可以寫呢,用到這兒的時候才發現部對路子,上網隨便一搜“php cookies 寫入”答案就來了,setcookie即可,真簡單啊。問題7:php分頁。 用ASP的時候SQL語句也沒深入研究,根本就不知道limit這回事兒,我說以前看淘寶、百度的分頁上有0 20、20 20這樣的參數傳遞呢,都是干分頁用的,稍補了一堂SQL課程問題迎刃而解,頁數判斷那裡原理都一樣就沒當成問題,一路綠燈解決戰鬥!問題8:創建utf-8文件寫入中文亂碼問題,問題2的後續問題。 一開始就把這個功能做好了,只不過沒用中文測試,後來做到有中文的地方發現這裡不靈了,哎呀那個頭疼啊,這個問題收拾了我好幾天,一直沒解決,為了不被這個問題困擾,所以就先用英文寫入把這裡條過去了,昨天必須得解決這裡了,所以就硬下頭皮整吧,還是BOM的簽名問題,以下均為我自己理解,不知道對不對,Windows環境識別UTF-8與ANSI文件靠的是UTF-8文件前的一個叫做BOM簽名的東西,這個東西普通的文本編輯器是看不到的 xEF xBF xEE好像是這三個16進制字符,反正是三個東西,問題2里毛病也是他們三個整出來的,UTF-8在Windows下雖然要用這三個傢伙區分,在php下確實沒有用的東西,要不問題2裡面為啥要去掉BOM簽名呢,怪就怪我在做ASP的時候遇到過同樣的UTF-8文件寫入中文亂碼問題,所以就留了個心眼,先在網上艘了一個UTF-8文件在php寫入的函數,裡面就把那三個討厭的東西加進去了,哎呀我去,這就是聰明反被聰明誤,這頓調試就是不行啊,後來我也是恍然大悟,把這三個傢伙去掉了,問題解決了,那個暢快啊。還有很多小問題就不細說了,比如$的轉義符是chr(36)啊,SQL中的關鍵詞from啊(在asp中不是關鍵詞),時間函數的使用(巨方便,比ASP的用着舒服)。經過將近一個月時間的學習發現php確實很強大,而且很好學,前提是有一門web服務器端語言基礎,感覺有很多ASP上需要重點考慮的問題在php上已經不是問題了,都替你想好了,而且php速度很快,沒有用Zend我就能感覺出比ASP+Access要快很多了,jsp和.net在速度上根本不能比的,代碼也很簡捷,除了我說的checkbox稍微麻煩一些,其他地方代碼都要比asp精簡,好多地方都很靈活,比如變量的定義,$開頭的變量讓命名少了很多約束,很多要用連字符把字符串和變量連起來使用的地方因為有$的存在都不用連字符了,因為$代表變量,所以不用特彆強調,總之php是很好很強大,真的很適合做網站呢。
如何在短時間內(一個月)學好php有什麼好的方法
如果枯燥無味的學理論的話,一個月肯定學不好,也堅持不了一個月,你可以帶着項目做,比如剛開始可以看別人成熟的後台是怎麼寫的,然後一點一點去學,先學會修改,再慢慢去製作,如果有HTML和CSS基礎一個月足夠了。
在php中如何獲得未來時間?
php獲取昨天、今天、明天、上周、本月、一年後、十年後的開始時間戳和結束時間戳:
//php獲取昨天日期
date(“Y-m-d”,strtotime(“-1 day”))
//php獲取明天日期
date(“Y-m-d”,strtotime(“+1 day”))
//php獲取一周後日期
date(“Y-m-d”,strtotime(“+1 week”))
//php獲取一周零兩天四小時兩秒後時間
date(“Y-m-d G:H:s”,strtotime(“+1 week 2 days 4 hours 2 seconds”))
//php獲取下個星期四日期
date(“Y-m-d”,strtotime(“next Thursday”))
//php獲取上個周一日期
date(“Y-m-d”,strtotime(“last Monday”))
//php獲取一個月前日期
date(“Y-m-d”,strtotime(“last month”))
//php獲取一個月後日期
date(“Y-m-d”,strtotime(“+1 month”))
//php獲取十年後日期
date(“Y-m-d”,strtotime(“+10 year”))
//php獲取今天起止時間戳
mktime(0,0,0,date(‘m’),date(‘d’),date(‘Y’));
mktime(0,0,0,date(‘m’),date(‘d’)+1,date(‘Y’))-1;
//php獲取昨天起止時間戳
mktime(0,0,0,date(‘m’),date(‘d’)-1,date(‘Y’));
mktime(0,0,0,date(‘m’),date(‘d’),date(‘Y’))-1;
//php獲取上周起止時間戳
mktime(0,0,0,date(‘m’),date(‘d’)-date(‘w’)+1-7,date(‘Y’));
mktime(23,59,59,date(‘m’),date(‘d’)-date(‘w’)+7-7,date(‘Y’));
//php獲取本月起止時間戳
mktime(0,0,0,date(‘m’),1,date(‘Y’));
mktime(23,59,59,date(‘m’),date(‘t’),date(‘Y’));
在php中用expires設定一個月後過期怎樣寫
具體代碼如下:
?php
$ch = curl_init();
$timeout = 5;
curl_setopt ($ch, CURLOPT_URL, ”);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
curl_close($ch);
echo $file_contents;
?
PHP 獨特的語法混合了C、Java、Perl以及PHP自創的語法。
它可以比CGI或者Perl更快速地執行動態網頁。用PHP做出的動態頁面與其他的編程語言相比,PHP是將程序嵌入到HTML(標準通用標記語言下的一個應用)文檔中去執行,
執行效率比完全生成HTML標記的CGI要高許多;
PHP還可以執行編譯後代碼,編譯可以達到加密和優化代碼運行,使代碼運行更快。
原創文章,作者:MLUM,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/143676.html