⑴ 怎樣定時執行某個php腳本文件,帶參數,沒有伺服器許可權,虛擬主機用戶 - 技術問答
php定時執行任務的幾個方法(網上搜集,未驗證)1.
Linux下crontab,
windows下計劃任務
2.
找個被頻繁調用的網頁,
裡面加上一個檢測代碼
3.
set_time_limit(0);
ignore_user_abort(true);4.
用一台機器開著頁面,使用AJAX完成這個定時任務(我自己添加的,覺得也算是一種方法)由於沒有管理許可權,方法1不靠譜;方法2的前提是必須有大量的用戶群體;方法3可以一試,但是伺服器一旦重啟就會失效。方法4,時間可能不是很精確,而且客戶端頁面一直開啟似乎也很難做到。
⑵ PHP的幾種函數參數類型及一些特殊函數
給你整理如下:
默認參數:在函數聲明時給參數賦值,而且此默認參數只能在最後,調用時可不傳遞任何參數(若只有默認參數的情況下)
可變參數:一個函數可能需要可個可變數目的參數。在php中,提供了三個函數用於檢索函數中所傳遞的參數。func_get_args()返回一個提供提供給函數的所有參數的數組;func_num_args()返回提供給函數的參數數目;func_get_arg()返回一個來自參數的特定參數。具體如下:
$array = func_get_args();
$count = func_num_args();
$value = func_get_arg();
遺漏參數:當調用函數時,可以傳遞任意個參數給函數。當函數必要的參數沒有i被傳遞時,此參數值是空,並且PHP會為每個遺漏的參數發出警告
可變函數:使用可變變數,可以基於變數的值調用函數
匿名函數:又叫閉包函數,允許臨時建立一個沒有指定名稱的函數,最經常用作回調函數參數的值。需要注意的是,在匿名函數內的變數的用法不同於全局變數,在匿名函數內的變數是一個閉包變數,另外,被調用閉包的作用域不必是相同的。
⑶ php獲取post參數的幾種方式
方法1、最常見的方法是:$_POST['fieldname'];
說明:只能接收Content-Type: application/x-www-form-urlencoded提交的數據
解釋:也就是表單POST過來的數據
方法2、file_get_contents(「php://input」);
說明:
允許讀取 POST 的原始數據。
和 $HTTP_RAW_POST_DATA 比起來,它給內存帶來的壓力較小,並且不需要任何特殊的 php.ini 設置。
php://input 不能用於 enctype=」multipart/form-data」。
解釋:
對於未指定 Content-Type 的POST數據,則可以使用file_get_contents(「php://input」);來獲取原始數據。
事實上,用PHP接收POST的任何數據都可以使用本方法。而不用考慮Content-Type,包括二進制文件流也可以。
所以用方法二是最保險的方法。
方法3、$GLOBALS['HTTP_RAW_POST_DATA'];
說明:
總是產生 $HTTP_RAW_POST_DATA 變數包含有原始的 POST 數據。
此變數僅在碰到未識別 MIME 類型的數據時產生。
$HTTP_RAW_POST_DATA 對於 enctype=」multipart/form-data」 表單數據不可用
如果post過來的數據不是PHP能夠識別的,可以用 $GLOBALS['HTTP_RAW_POST_DATA']來接收,
比如 text/xml 或者 soap 等等
解釋:
$GLOBALS['HTTP_RAW_POST_DATA']存放的是POST過來的原始數據。
$_POST或$_REQUEST存放的是 PHP以key=>value的形式格式化以後的數據。
但$GLOBALS['HTTP_RAW_POST_DATA']中是否保存POST過來的數據取決於centent-Type的設置,即POST數據時 必須顯式示指明Content-Type: application/x-www-form-urlencoded,POST的數據才會存放到 $GLOBALS['HTTP_RAW_POST_DATA']中。
⑷ php 類中方法之間參數怎麼調用
class A
{
public $bb,$cc;
function othersomething()
{
return $this->cc;
}
}
function dosomething()
{
$bb = $this->bb;
$othersomething = $this->othersomething();
}
方法的參數是新定義一個變數,注意是新定義,方法結束自動銷毀,
2.PHP類中方法定義的參數與調用時的參數名稱可以不同。
帶默認值的就是指當這些參數沒有給出的時候可以按照預定義內容進行賦值(按參數順序調用)。
functiontext($i,$a="test1",$test="test2"){
echo"<h1>{$i}</h1>";
echo"<h1>{$a}</h1>";
echo"<h1>{$test}</h1>";
}
2.調用:
text("test");
----顯示
test
test1
test2
text("test","test3","test4");
----顯示
test
test3
test4
⑸ 問一個php傳遞參數執行方法
這個問題跟鍵模辯我遇到的一樣。
可以有兩種稿缺方法。 一種是通過把變數保存到全局變數里。 例如$_session['a']=你要傳的值。 然後第2個php 用 $a = $_session['a'];
這碼敗樣就過了。。 不過在用$_session 之前要加上 session_star();
⑹ Php獲取參數的幾種方法
1.獲取地址欄參數:
$_SERVER['QUERY_STRING'];
2.獲取參數值
//post提交
用$_POST['參數名稱']獲取值
//get 提交
用$_GET['參數名稱']獲取值
//無論是post還是get方式提交都可以用$_REQUEST
用$_REQUEST['參數名稱']獲取值
⑺ 如何在命令行下運行PHP腳本[帶參數]
.php:<?phpecho "Hello from the CLI";?現在,試著在命令行提示符下運行這個程序,方法是調用CLI可執行文件並提供腳本的文件名: #php phphello.php 輸出Hello from the CLI ----------------- 使用標準的輸入和輸出 你可以在自己的PHP腳本里使用這三個常量,以接受用戶的輸入,或者顯示處理和計算的結果。要更好地理解這一點,可以看看下面的腳本(列表A):列表A<?php// ask for input fwrite(STDOUT, "Enter your name: "); // get input $name = trim(fgets(STDIN)); // write input back fwrite(STDOUT, "Hello, $name!");?Look what happens when you run it: shell php hello.php Enter your name: Joe Hello, Joe! 在這個腳本里,fwrite()函數首先會向標準的輸出設備寫一條消息,詢問用戶的姓名。然後它會把從標准輸入設備獲得的用戶輸入信息讀 取到一個PHP變數里,並它把合並成為一個字元串。然後就用fwrite()把這個字元串列印輸出到標準的輸出設備上。 ----------------- 使用命令行自變數 在命令行里輸入程序參數來更改其運行方式是很常見的做法。你也可以對CLI程序這樣做。PHP CLI帶有兩個特殊的變數,專門用來達到這個目的:一個是$argv變數,它通過命令行把傳遞給PHP腳本的參數保存為單獨的數組元素;另一個是$argc變數,它用來保存$argv數組里元素的個數。 shell php phptest.php chocolate 276 "killer tie, de!"Array( [0] = test.php [1] = chocolate[2] = 276[3] = killer tie, de!)正如你可以從輸出的結果看到的,傳遞給test.php的值會自動地作為數組元素出現在$argv里。 要注意的是,$argvis的第一個自變數總是 腳本自己的名稱。 下面是一個更加復雜的例子(列表C):列表C代碼 下面是其用法的示例: shell php phpbook.php 21/05/2005 7 single 在這里,腳本首先會檢查$argc,以確保自變數的數量符合要求。它然後會從$argv里提取出每一個自變數,把它們列印輸出到標準的輸出