phptmp
❶ php 為什麼會自動生成.tmp文件
是要生成臨時文件,文件上傳的時候要生成,使用SESSION的時候也要生成,一般PHP能自己刪除,除非進程非正常終止。
在網站停止的時候,這些文件是可以刪除的。
❷ PHP中上傳文件的臨時目錄的問題
move_uploaded_file(「臨時目錄」,「新文件」)
這個臨時目錄是用$_FILES['userfile']['tmp_name']獲取的
新文件 就是:
新文件目錄+文件名
這個自己定義 。。。。。比如 我寫個例子
$upfile="D:/aaa/" 目錄名
$filename=$_FILES['userfile']['name'] 獲取的原文件名
新文件就是 $newfile=$upfile.$filename;
用.連接起來。
move_uploaded_file($_FILES['userfile']['tmp_name'],$newfile))
執行之後就會移動的D:/aaa/下面
❸ php為什麼變數要初始化 向高手討教
是這樣的,比如我們程序要使用$tmp來存儲一個循環裡面取到的內容,語句如下:
while(...){
if
(...)
$tmp=...;
}
if
($tmp==...)
{...}
上面的語句,是在循環裡面判斷某個條件,條件滿足就賦值,循環結束後判斷變數的值來執行程序,看起來沒問題,但是實際上有問題。
因為在循環前沒有對$tmp='';這樣初始化,那麼循環中如果一直都沒有滿足條件,其實$tmp的值可能是不確定的。特別是,當欄位全局變數開關打開的時候,$tmp的值可能是調用這個PHP文件時的參數值,例如xxx.php?tmp=xxx這樣的調用就可以改變程序裡面變數的值,非常危險。
❹ php上傳文件時為什麼要用到臨時文件名tmp_name
上傳都是先保存在臨時文件夾中,需要程序來移動或復制文件。
❺ 簡述下面程序的輸出結果,簡要說明為什麼,如何解決這類問題<php tmp=0=="a
<?php
$tmp=0=='a';
?>
最後結果 $tmp = false;
原理參考《php運算符優先順序》先比較後賦值;
❻ 我在iis中配置了php環境 tmp文件夾應該放哪裡
c:/tmp
可以隨便定
你就放c盤吧
上傳的文件會存在這個文件夾
設置了php.ini後要重新運行網站
❼ php 上傳的 tmp/ 目錄下有很多.tmp 文件可以刪除嗎
可以,都沒用的。在當前的php進程結束後這些文件就沒有存在價值了。一般來說對於上傳的文件都會通過move_uploaded_file方法保存到正確的目錄,移動後tmp下的文件就沒有咯。但是進程結束後再次調用這個方法就會得到源文件不是一個上傳的文件的錯誤,也就是說這個文件雖然還在,但是已經不能被正常處理了,可以手動刪掉啦。
❽ PHP產生不重復隨機數的5個方法總結
無論是Web應用,還是WAP或者移動應用,隨機數都有其用武之地。在最近接觸的幾個小項目中,我也經常需要和隨機數或者隨機數組打交道,所以,對於PHP如何產生不重復隨機數常用的幾種方法小結一下(ps:方法1、4、5是我常用的,其餘來自網路整理)
方法一:
復制代碼
代碼如下:
<?php
$numbers
=
range
(1,50);
//shuffle
將數組順序隨即打亂
shuffle
($numbers);
//array_slice
取該數組中的某一段
$num=6;
$result
=
array_slice($numbers,0,$num);
print_r($result);
?>
方法二:
復制代碼
代碼如下:
<?php
$numbers
=
range
(1,20);
//播下隨機數發生器種子,可有可無,測試後對結果沒有影響
srand
((float)microtime()*1000000);
shuffle
($numbers);
//跳過list第一個值(保存的是索引)
while
(list(,
$number)
=
each
($numbers))
{
echo
"$number
";
}
?>
方法三:
復制代碼
代碼如下:
<?php
function
NoRand($begin=0,$end=20,$limit=5){
$rand_array=range($begin,$end);
shuffle($rand_array);//調用現成的數組隨機排列函數
return
array_slice($rand_array,0,$limit);//截取前$limit個
}
print_r(NoRand());
?>
上述可以在1-20間隨機產生5個不重復的值
方法四:
復制代碼
代碼如下:
<?php
$tmp=array();
while(count($tmp)<5){
$tmp[]=mt_rand(1,20);
$tmp=array_unique($tmp);
}
print_r($tmp);
?>
方法五:
復制代碼
代碼如下:
<?php
$tmp
=
range(1,30);
print_r(array_rand($tmp,10));
?>
這個可能是比叫簡單的了(ps:如果在range中指定了步長,就必須注意array_rand的第二個參數是否超出$tmp的長度)。
PHP提供非常豐富的數組函數,產生隨機數大多可以從數組這個角度出發,若你還有方法提供,歡迎給出,文章將持續更新。
❾ php,apache ,mysql,然後在php的/tmp下發現很多.tmp臨時文件。請問這些文件是怎樣生成的可以刪除嗎
這個是臨時問題應該是可以刪除的。如果樓主不放心可以先備份一下 如果出了問題可以再還原回去的
❿ php $tmp = 0 == "a" 1 : 2; 為什麼是1;
比較時PHP會自動把字元串轉換為整型,字元串a的開頭不包含任何數字,所以會被轉為0