您好,登錄后才能下訂單哦!
使用key()可以獲得數組中當前元素的鍵名,使用current()則可以返回當前元素的值。
使用array_keys()則可以得到數組中所有的鍵名。
使用foreach結構foreach($arr as key=>value)可以通過key和value分別獲取鍵名和值。
$data=array(0=>array('id'=>8,'name'=>'name1'),1=>array('id'=>10,'name'=>'name2'),2=>array('id'=>15,'name'=>'name3') );
寫出在模板頁的代碼?若用foreach語句又要怎樣顯示呢?
用section語句:
<{section name=test loop=$data start=0 step=1}>id:<{$data[test].id}><br/>name:<{$data[test].name}><br/><br/><{sectionelse}>數組為空<{/section}>
用foreach語句:
<{foreach from=$data item=test}>id:<{$test.id}><br/>name:<{$test.name}><br/><br/><{foreachelse}>數組為空<{/foreach}>
B.*****xyz1
C.******xyz2
D.*xyz
答案:C
A.E_WARNING
B.E_USER_ERROR
C.E_PARSE
D.E_NOTICE
答案:B
A.E_WARNING
B.E_USER_ERROR
C.E_PARSE
D.E_NOTICE
答案:C
匹配以0個或多個空白符開頭或者0個或多個空白符結尾的字符串
<?php date_default_timezone_set('PRC'); /** * 獲取給定月份的上一月最后一天 * @param $date string 給定日期 * @return string 上一月最后一天 */ function get_last_month_last_day($date = ''){ if ($date != '') { $time = strtotime($date); } else { $time = time(); } $day = date('j',$time);//獲取該日期是當前月的第幾天 return date('Y-m-d',strtotime("-{$day} days",$time)); } // 測試 echo get_last_month_last_day(); echo "<br />"; echo get_last_month_last_day("2013-3-21");?>
可以,還可以在需要控制的子目錄下創建.htaccess文件,寫入訪問控制。
從以下幾個方面考慮:
數據庫中庫和表都用utf8編碼
php連接mysql,指定數據庫編碼為utf8 mysql_query(“set names utf8”);
php文件指定頭部編碼為utf-8header(“content-type:text/html;charset=utf-8”);
網站下所有文件的編碼為utf8
html文件指定編碼為utf-8<meta http-equiv="Content-Type"content="text/html;charset=utf-8"/>
urlencode()
md5(str);sha1(str);
<?php date_default_timezone_set("PRC"); // 將字符串轉成Unix時間戳 $unix_time = strtotime("2009-9-2 10:30:45"); echo $unix_time; echo "<br />"; // 格式化Unix時間戳為正常時間格式 echo date("Y-m-d H:i:s",$unix_time);?>
<?php iconv('GB2312','UTF-8','悄悄是別離的笙簫');?>
htmlspecialchars或者htmlentities
mb_sring、iconv、curl、GD、XML、socket、MySQL、PDO等
FleaPHP、Zend Framework、CakePHP、Symfony、ThinkPHP、YII、CodeIgniter等
上傳文件的表單使用post方式,并且要在form中添加enctype='multipart/form-data'
。
一般可以加上隱藏域:<input type=hidden name='MAX_FILE_SIZE' value=dddddd>
,位置在file域前面。
value的值是上傳文件的客戶端字節限制。可以避免用戶在花時間等待上傳大文件之后才發現文件過大上傳失敗的麻煩。
使用file文件域來選擇要上傳的文件,當點擊提交按鈕之后,文件會被上傳到服務器中的臨時目錄,在腳本運行結束時會被銷毀,所以應該在腳本結束之前,將其移動到服務器上的某個目錄下,可以通過函數move_uploaded_file()來移動臨時文件,要獲取臨時文件的信息,使用$_FILES。
限制上傳文件大小的因素有:
客戶端的隱藏域MAX_FILE_SIZE的數值(可以被繞開)。
服務器端的upload_max_filesize,post_max_size和memory_limit。這幾項不能夠用腳本來設置。
自定義文件大小限制邏輯。即使服務器的限制是能自己決定,也會有需要個別考慮的情況。所以這個限制方式經常是必要的。
UBB代碼是HTML的一個變種,通過程序自定義我們的標簽,比如“[a]PHP中UBB的使用[/a]
”這樣的標簽,其實質就是查找[a][/a]
標簽,將其替換成的標準html,說白了,就是將標準的html標記通過技術手段使其簡化,其輸出出來的結果還是標準的html。
明白了ubb的原理,那么再制作一個簡單的ubb編輯器就不難了,和fck之類的編輯器比較起來,ubb代碼最大的優點就是代碼簡單,功能很少,簡單的ubb只需要一個文件,而且ubb標簽可以自己來定義,更改起來很方便,在php中就是利用替換函數就可以將
html進行標簽化,輸出時進行標簽的轉化。
可以自己設置上傳文件的保存目錄,與文件名拼湊形成一個文件路徑,使用move_uploaded_file(),就可以完成將文件保存到指定目錄。
可以通過上傳的文件名獲取到文件后綴,然后使用時間戳+隨機數+文件后綴
的方式為文件重新命名,這樣就避免了重名。
debug_print_backtrace()
{section name=temp loop=$ids} {if $ids[temp].id==500} <span style=‘color:#f00;’>{$ids[temp].id}</span> {esle} {$ids[temp].id} {/if} {/section}
使用{$smarty.now}
來獲取當前時間,得到的是unix系統時間戳
使用變量調節器進行格式化,如下:{$smarty.now|date_format:“%Y-%m-%d%H:%M:%S”}
$smarty.get.變量 #顯示通過get方式傳過來的指定變量的值
$smarty.post.變量 #顯示通過post方式傳過來的指定變量的值
$smarty.cookies.變量 #顯示通過cookie中指定變量的值
$smarty.server.SERVER_NAME #顯示server變量值,$_SERVER系列變量
$smarty.env.PATH #顯示系統環境變量值,$_ENV系列變量
$smarty.session.變量 #顯示session中指定變量的值
$smarty.request.變量 #顯示通過post、get、cookie中指定變量的值
使用模板分隔符包含,傳遞參數則使用HTML屬性的方式,例如:{html_p_w_picpath file="pumpkin.jpg"}
mysql,gd,pdo,XML,zip,filesystem,mail等
utf8_to_gb2312或者utf8togb2312
<IfModulemod_rewrite.c>RewriteEngineonRewriteCond%{REQUEST_FILENAME}!-fRewriteCond%{REQUEST_FILENAME}!-dRewriteBase/RewriteRule./index.php[L]</IfModule>
如果REQUEST_FILENAME文件存在,就直接訪問文件,不進行下面的rewrite規則,
如果REQUEST_FILENAME目錄存在,就直接訪問目錄,不進行下面的rewrite規則,
RewriteRule./index.php[L]的意思是把所有的請求都給index.php處理。
一般是在header、set_cookie以及session_start函數前面有輸出(包括空格)的情況下,會報該警告信息
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。