你建一張表, 注冊成功之后存入ip。 下次注冊的時候檢測一下60分鐘內(nèi)是否已經(jīng)注冊, 如果沒有就可以注冊。
webuploader是按列隊排隊上傳的。你可以嘗試把先把數(shù)據(jù)暫時存入redis緩存,等所有文件都上傳完畢,再把數(shù)據(jù)一起插入mysql等數(shù)據(jù)庫。
我是通過將openid存在一個隱藏表單里<input type="hidden" value='openid的值' name="openid"/>
我目前就負責公司公眾號(服務(wù)號)系統(tǒng)的開發(fā)和運營維護 一手操辦 同時使用了快站來管理一些小功能,一些深度自定義的功能,和外鏈還是要自己去開發(fā)的
前者好。
后者實現(xiàn)起來麻煩,而且有些業(yè)務(wù)邏輯很難實現(xiàn),比如你要看某個商品被收藏多少次。
magento啊,這東西好久沒用了,配置起來確實很蛋疼的框架。
這個看來應(yīng)該是權(quán)限問題,要不然就是env.php 這個文件的問題,你可以試試下面這些命令:
php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento setup:static-content:deploy
php bin/magento indexer:reindex
php bin/magento cache:flush
之后再做下面的操作
sudo chmod 777 var -R
sudo chmod 777 pub -R
sudo php bin/magento setup:static-content:deploy是的. 不需要.
自己定. 你說什么是錯的就是什么.
//此函數(shù)作用遞歸 $x 到 $y 中的數(shù)有那些滿足 $x * $y = $n 并放入$tmp 數(shù)組中 已 $x 和 $y 作為key區(qū)分
function recursion($x,$y,$n){
if($n<$x || $n>$x*$y){ // 1.如果 $n < $x 那么 $x+$y 肯定大于$n; 2. $n > $x *$y (這里疑問。這個函數(shù)應(yīng)該不是算 $x+$y =$n 概率的 應(yīng)該是算 $x*$y=$n 概率的)
$tmp[$x][$n] = 0;
}else if($x === 1){
// 判斷 $x =1 的情況 再這種情況下 $y < $n 那么 1*$y肯定大于$n 然后就是
// 其他情況。這種情況下只有 $y=-$n 才滿足 $x*$y = $n 所以 $tmp[$x][$n]=1
if($y < $n){
$tmp[$x][$n] = 0;
}else{
$tmp[$x][$n] = 1;
}
}
//這里判斷是否有條件成立 有 則可以返回了。
if(isset($tmp[$x][$n])){
return $tmp[$x][$n];
}
//這里 遍歷 $x 到 $y 是否還有還有存在 $x *$y =$n 的 有則加入到 $tmp中
//最后遞歸后返回
$tmp[$x][$n] = 0;
for($i=1; $i<=$y; $i++){
$tmp[$x][$n] += recursion($x-1, $y, $n-$i);
}
return $tmp[$x][$n];
}
//這里 是算 具體某個 [$x,$y]范圍的數(shù)到 $n為具體值的概率
function foo($x, $y, $n){
return recursion($x, $y, $n) * 1.0 / pow($y, $x);
}
$sum = 0;
//最后這里解釋下為什么有循環(huán) 循環(huán)是別人算了 5,10 分別 與 $n = [1 ...100] 所有數(shù)的概率
for($i=1;$i<100;$i++){
echo foo(5,10,$i),PHP_EOL;
$sum += foo(5,10,$i);
}
echo 'sum:' . $sum;
xxx.ooo.com 綁定到虛擬站點A
www.ooo.com 綁定到虛擬站點B
老哥你的save是新增 到update那一步就可以了。
如果用相對地址,需要注意是針對你的 CWD (當前工作目錄)為起點的,通常 HTTP 環(huán)境下 CWD 是你的網(wǎng)站根目錄,你可以用 getcwd() 查看和用 chdir() 切換。如果你實在搞不清楚,可以相對當前文件的目錄來,比如 include __DIR__.'/../php/b.php';,比較老的(好像是 5.1 以前吧)沒有 __DIR__ 可以用 dirname(__FILE__) 替代。
--
我又看了下,您的目錄結(jié)構(gòu)是這樣的吧:
php
user
如果用相對當前文件的路徑在 c 里引入 b,c 里可寫作:
include __DIR__.'/../../php/b.php';
采用這種方式,無論您的 CWD 是哪個引入路徑都不會錯的。
當然了,您如果有固定的入口文件,在里面定義幾個路徑常量,或預先設(shè)置好 include_path,后續(xù)代碼的 include 部分會更干凈些。如您上面的入口總是 a.php 的話,c.php 里想引入 b.php 也可以寫作 include 'php/b.php';,這是因為通常情況下,include_path 里會包含 '.' (當前工作目錄)。
1.不建議使用中文
2.使用trim()函數(shù)清楚$_SESSION['usr_name']內(nèi)容是否存在留空情況
只要確定 /usr/langs/ 裡面的語言不被惡意修改的話, 那個eval 是可以的
使用原因是為了使用po 文件中的複數(shù)定義:
例如
"Plural-Forms: nplurals=2; plural=(n != 1);n"
這種判斷式用下面替換的方法來做驗證是比較簡單的。
private function select_string($n)
{
$string = $this->get_plural_forms();
$string = str_replace('nplurals',"\$total",$string);
$string = str_replace("n",$n,$string);
$string = str_replace('plural',"\$plural",$string);
$total = 0;
$plural = 0;
eval("$string");
if ($plural >= $total) $plural = $total - 1;
return $plural;
}你交錢了嗎 300元
PHPExcel_Worksheet_Drawing 了解一下,下面的copy的一份代碼
<?php
ini_set("display_errors",1);
include 'Classes/PHPExcel.php';
include 'Classes/PHPExcel/IOFactory.php';
define('EXCEL_EXTENSION_2003', "xls");
define('EXCEL_EXTENSION_2007', "xlsx");
$fileName2003 = "Standard_Format_File1.xls";
$fileName2007 = "Standard_Format_File1.xlsx";
$fileName = $fileName2003;
//$fileName = $fileName2007;
if(getExtendFileName($fileName) == EXCEL_EXTENSION_2003)
{
$reader = PHPExcel_IOFactory::createReader('Excel5');
}
else if(getExtendFileName($fileName) == EXCEL_EXTENSION_2007)
{
$reader = new PHPExcel_Reader_Excel2007();
}
$PHPExcel = $reader->load($fileName);
$worksheet = $PHPExcel->getActiveSheet();
$imageInfo = extractImageFromWorksheet($worksheet,"importImg/");
print_r($imageInfo);
function getExtendFileName($file_name) {
$extend = pathinfo($file_name);
$extend = strtolower($extend["extension"]);
return $extend;
}
function extractImageFromWorksheet($worksheet,$basePath){
$result = array();
$imageFileName = "";
foreach ($worksheet->getDrawingCollection() as $drawing) {
$xy=$drawing->getCoordinates();
$path = $basePath;
// for xlsx
if ($drawing instanceof PHPExcel_Worksheet_Drawing) {
$filename = $drawing->getPath();
$imageFileName = $drawing->getIndexedFilename();
$path = $path . $drawing->getIndexedFilename();
copy($filename, $path);
$result[$xy] = $path;
// for xls
} else if ($drawing instanceof PHPExcel_Worksheet_MemoryDrawing) {
$image = $drawing->getImageResource();
$renderingFunction = $drawing->getRenderingFunction();
switch ($renderingFunction) {
case PHPExcel_Worksheet_MemoryDrawing::RENDERING_JPEG:
$imageFileName = $drawing->getIndexedFilename();
$path = $path . $drawing->getIndexedFilename();
imagejpeg($image, $path);
break;
case PHPExcel_Worksheet_MemoryDrawing::RENDERING_GIF:
$imageFileName = $drawing->getIndexedFilename();
$path = $path . $drawing->getIndexedFilename();
imagegif($image, $path);
break;
case PHPExcel_Worksheet_MemoryDrawing::RENDERING_PNG:
$imageFileName = $drawing->getIndexedFilename();
$path = $path . $drawing->getIndexedFilename();
imagegif($image, $path);
break;
case PHPExcel_Worksheet_MemoryDrawing::RENDERING_DEFAULT:
$imageFileName = $drawing->getIndexedFilename();
$path = $path . $drawing->getIndexedFilename();
imagegif($image, $path);
break;
}
$result[$xy] = $imageFileName;
}
}
return $result;
}事件冒泡,了解一下。
JSON和XML可以比較容易的反應(yīng)數(shù)據(jù)結(jié)構(gòu),通過大括號和標簽,鍵值對在這一點就很麻煩。例如一組簡單的數(shù)據(jù)用JSON表達很清晰
[
{"id":1,"name":"A"},
{"id":2,"name":"B"},
{"id":3,"name":"C"},
]
用鍵值對表達的話解析的時候很麻煩,也不好轉(zhuǎn)換為常用編程語言的數(shù)據(jù)結(jié)構(gòu)。
id:1
name:A
id:2
name:B
id:3不知道我跟你想的一不一樣,可以看下combineReducers的源碼:
var hasChanged = false
var nextState = {}
for (var i = 0; i < finalReducerKeys.length; i++) {
var key = finalReducerKeys[i]
var reducer = finalReducers[key]
var previousStateForKey = state[key]
var nextStateForKey = reducer(previousStateForKey, action)
if (typeof nextStateForKey === 'undefined') {
var errorMessage = getUndefinedStateErrorMessage(key, action)
throw new Error(errorMessage)
}
nextState[key] = nextStateForKey
hasChanged = hasChanged || nextStateForKey !== previousStateForKey
}
return hasChanged ? nextState : state
關(guān)鍵點在于每次reducer返回新的state會跟舊的state做===對比,如果false認為store改變,從而觸發(fā)頁面重繪,如果true,則認為不變,不會觸發(fā)重繪。所以reducer返回新的state是為了通知redux讓頁面重繪。
協(xié)程和異步不是一個東西,這塊你可以去了解一下。另外,swoole協(xié)程是2開始才有的,異步之前就有。
北大青鳥APTECH成立于1999年。依托北京大學優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達內(nèi)教育集團成立于2002年,是一家由留學海歸創(chuàng)辦的高端職業(yè)教育培訓機構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學校辦產(chǎn)業(yè)為響應(yīng)國家深化產(chǎn)教融合/校企合作的政策,積極推進“中國制造2025”,實現(xiàn)中華民族偉大復興的升級產(chǎn)業(yè)鏈。利用北京大學優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓領(lǐng)域的先行者
曾工作于聯(lián)想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責任公司從事總經(jīng)理職務(wù)負責iOS教學及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術(shù)功底深厚。 授課風格 授課風格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。