关于ucenter通讯过程的代码的!CSDN大神多!慕名而来!请多指教!
调试ucenter的时候在/control/admin/app.php中遇到了这样一段代码
if($app['extra']['apppath'] && @include $app['extra']['apppath'].'./api/'.$app['apifilename'])
{
//code
}
请问 这个if 后面 include 进来的文件 是执行的结果还是文件本身,还是仅仅返回一个ture or false?
include 进来的是一个.php的文件。
分割线----------------------------------------------------------------------------------------------------------------
运行下面这个文件中的 onping函数
<?php function onping() { $ip = getgpc('ip'); $url = getgpc('url'); $appid = intval(getgpc('appid')); $app = $_ENV['app']->get_app_by_appid($appid); $status = ''; if($app['extra']['apppath'] && @include $app['extra']['apppath'].'./api/'.$app['apifilename']) { echo 'in if='.$app['extra']['apppath'].'./api/'.$app['apifilename']; $uc_note = new uc_note(); $status = $uc_note->test($note['getdata'], $note['postdata']); } else { echo 'in else'; $this->load('note'); $url = $_ENV['note']->get_url_code('test', '', $appid); $status = $_ENV['app']->test_api($url, $ip); } if($status == '1') { echo 'document.getElementById(\'status_'.$appid.'\').innerHTML = "<img src=\'images/correct.gif\' border=\'0\' class=\'statimg\' \/ alt="关于ucenter通讯过程的代码的!CSDN大神多!慕名而来!请多指教!" ><span class=\'green\'>'.$this->lang['app_connent_ok'].'</span>";testlink();'; } else { echo 'document.getElementById(\'status_'.$appid.'\').innerHTML = "<img src=\'images/error.gif\' border=\'0\' class=\'statimg\' \/ alt="关于ucenter通讯过程的代码的!CSDN大神多!慕名而来!请多指教!" ><span class=\'red\'>'.$this->lang['app_connent_false'].'</span>";testlink();'; } }?>
其中include $app['extra']['apppath'].'./api/'.$app['apifilename'] 这个文件是 其他目录里面的 uc.php文件,前部代码如下!这个文件是utf8版的HDwiki5.1自带的!
<?phperror_reporting(0);define('UC_CLIENT_VERSION', '1.5.1');define('UC_CLIENT_RELEASE', '20100501');define('API_DELETEUSER', 1); //用户删除 APIdefine('API_RENAMEUSER', 1); //用户改名 APIdefine('API_GETTAG', 1); //获取标签 APIdefine('API_SYNLOGIN', 1); //同步登录 APIdefine('API_SYNLOGOUT', 1); //同步登出 APIdefine('API_UPDATEPW', 1); //更改用户密码define('API_UPDATEBADWORDS', 1); //更新关键字列表define('API_UPDATEHOSTS', 1); //更新域名解析缓存define('API_UPDATEAPPS', 1); //更新应用列表define('API_UPDATECLIENT', 1); //更新客户端缓存define('API_UPDATECREDIT', 1); //更新用户积分define('API_GETCREDITSETTINGS', 1); //向 UCenter 提供积分设置define('API_GETCREDIT', 1); //获取用户的某项积分define('API_UPDATECREDITSETTINGS', 1); //积分设置define('API_RETURN_SUCCEED', '1');define('API_RETURN_FAILED', '-1');define('API_RETURN_FORBIDDEN', '-2');define('HDWIKI_ROOT', substr(dirname(__FILE__),0,-4));define('UC_CLIENT_ROOT',HDWIKI_ROOT.'/api/uc_client/');define('MAGIC_QUOTES_GPC', get_magic_quotes_gpc());require_once HDWIKI_ROOT.'/api/ucconfig.inc.php';$get = $post = array();$code = @$_GET['code'];parse_str(authcode($code, 'DECODE', UC_KEY), $get);if(MAGIC_QUOTES_GPC) { $get = _stripslashes($get);}$timestamp = time();if(empty($get)){ exit('Invalid Request');}elseif($timestamp - $get['time'] > 3600){ exit('Authracation has expiried');}
那为什么输出了一个'Invalid Request 呢?这个输出结果对吗?
回复讨论(解决方案)
对于 @include $app['extra']['apppath'].'./api/'.$app['apifilename']
当文件 $app['extra']['apppath'].'./api/'.$app['apifilename'] 不存在时,反对 false
存在时返回 1
这种写法完全没有问题!
如果你的程序出现了问题,请在其他的地方找原因
对于 @include $app['extra']['apppath'].'./api/'.$app['apifilename']
当文件 $app['extra']['apppath'].'./api/'.$app['apifilename'] 不存在时,反对 false
存在时返回 1
这种写法完全没有问题!
如果你的程序出现了问题,请在其他的地方找原因
请问,这样的用法和file_exists的功能有什么区别呢?include进来的内容 对本地程序有影响吗?还是 单纯的判读文件是否存在?
include 进来的肯定是有内容的了,从你贴出的片段不也能看到很多定义吗?
你当然可以先判断文件存在,然后再include
但这样写不是很简洁吗?至少在编译器件要少分析一个语句吧?
问题找到了
是301跳转的问题
换了主机空间原来的独立Ip没有了!
301跳转方面可能有点问题!
多谢各位大神了!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Sesetengah pengguna mengalami ralat semasa memasang peranti, menyebabkan kod ralat 28. Sebenarnya, ini disebabkan terutamanya oleh pemandu Kami hanya perlu menyelesaikan masalah kod pemandu win7 28. Mari kita lihat apa yang perlu dilakukan . Apa yang perlu dilakukan dengan kod pemandu win7 28: Pertama, kita perlu mengklik pada menu mula di sudut kiri bawah skrin. Kemudian, cari dan klik pilihan "Panel Kawalan" dalam menu pop timbul. Pilihan ini biasanya terletak di atau berhampiran bahagian bawah menu. Selepas mengklik, sistem akan membuka antara muka panel kawalan secara automatik. Dalam panel kawalan, kami boleh melakukan pelbagai tetapan sistem dan operasi pengurusan. Ini adalah langkah pertama dalam tahap pembersihan nostalgia, saya harap ia membantu. Kemudian kita perlu meneruskan dan memasuki sistem dan

Apa yang perlu dilakukan dengan kod skrin biru 0x0000001 Ralat skrin biru adalah mekanisme amaran apabila terdapat masalah dengan sistem komputer atau perkakasan Kod 0x0000001 biasanya menunjukkan kegagalan perkakasan. Apabila pengguna tiba-tiba mengalami ralat skrin biru semasa menggunakan komputer mereka, mereka mungkin berasa panik dan rugi. Nasib baik, kebanyakan ralat skrin biru boleh diselesaikan dan ditangani dengan beberapa langkah mudah. Artikel ini akan memperkenalkan pembaca kepada beberapa kaedah untuk menyelesaikan kod ralat skrin biru 0x0000001. Pertama, apabila menghadapi ralat skrin biru, kita boleh cuba untuk memulakan semula

Selesaikan masalah "error:expectedinitializerbefore'datatype'" dalam kod C++ Dalam pengaturcaraan C++, kadangkala kita menghadapi beberapa ralat kompilasi semasa menulis kod. Ralat ini biasanya berlaku dalam pengisytiharan berubah atau definisi fungsi dan boleh menyebabkan atur cara gagal untuk menyusun dengan betul atau

Sistem win10 ialah sistem kecerdasan tinggi yang sangat baik Kepintarannya yang berkuasa boleh membawa pengalaman pengguna yang terbaik kepada pengguna Dalam keadaan biasa, komputer sistem win10 pengguna tidak akan menghadapi sebarang masalah. Walau bagaimanapun, tidak dapat dielakkan bahawa pelbagai kerosakan akan berlaku pada komputer yang sangat baik Baru-baru ini, rakan-rakan telah melaporkan bahawa sistem win10 mereka sering menghadapi skrin biru. Hari ini, editor akan membawakan anda penyelesaian kepada kod berbeza yang menyebabkan skrin biru kerap berlaku dalam komputer Windows 10 Mari kita lihat. Penyelesaian kepada skrin biru komputer yang kerap dengan kod berbeza setiap kali: punca pelbagai kod kerosakan dan cadangan penyelesaian 1. Punca kerosakan 0×000000116: Seharusnya pemacu kad grafik tidak serasi. Penyelesaian: Adalah disyorkan untuk menggantikan pemacu pengilang asal. 2.

Kod Penamatan 0xc000007b Semasa menggunakan komputer anda, kadangkala anda menghadapi pelbagai masalah dan kod ralat. Antaranya, kod penamatan adalah yang paling mengganggu terutamanya kod penamatan 0xc000007b. Kod ini menunjukkan bahawa aplikasi tidak boleh dimulakan dengan betul, menyebabkan ketidakselesaan kepada pengguna. Mula-mula, mari kita fahami maksud kod penamatan 0xc000007b. Kod ini ialah kod ralat sistem pengendalian Windows yang biasanya berlaku apabila aplikasi 32-bit cuba dijalankan pada sistem pengendalian 64-bit. Maksudnya sepatutnya

Jika anda perlu memprogramkan sebarang peranti dari jauh, artikel ini akan membantu anda. Kami akan berkongsi kod jauh universal GE teratas untuk pengaturcaraan sebarang peranti. Apakah alat kawalan jauh GE? GEUniversalRemote ialah alat kawalan jauh yang boleh digunakan untuk mengawal berbilang peranti seperti TV pintar, LG, Vizio, Sony, Blu-ray, DVD, DVR, Roku, AppleTV, pemain media penstriman dan banyak lagi. Alat kawalan jauh GEUniversal datang dalam pelbagai model dengan fungsi dan keupayaan yang berbeza. GEUniversalRemote boleh mengawal sehingga empat peranti. Kod Jauh Universal Teratas untuk Diprogramkan pada Mana-mana Peranti Alat kawalan jauh GE disertakan dengan set kod yang membolehkannya berfungsi dengan peranti yang berbeza. anda boleh

Skrin biru adalah masalah yang sering kita hadapi apabila menggunakan sistem Bergantung pada kod ralat, akan terdapat banyak sebab dan penyelesaian yang berbeza. Sebagai contoh, apabila kita menghadapi masalah berhenti: 0x0000007f, ia mungkin ralat perkakasan atau perisian Mari ikut editor untuk mengetahui penyelesaiannya. 0x000000c5 sebab kod skrin biru: Jawapan: Memori, CPU dan kad grafik tiba-tiba overclocked atau perisian berjalan dengan tidak betul. Penyelesaian 1: 1. Teruskan tekan F8 untuk masuk semasa but, pilih mod selamat, dan tekan Enter untuk masuk. 2. Selepas memasuki mod selamat, tekan win+r untuk membuka tetingkap jalankan, masukkan cmd, dan tekan Enter. 3. Dalam tetingkap command prompt, masukkan "chkdsk /f /r", tekan Enter, dan kemudian tekan kekunci y. 4.

Apakah maksud kod skrin biru 0x000000d1 Dalam beberapa tahun kebelakangan ini, dengan pempopularan komputer dan perkembangan pesat Internet, isu kestabilan dan keselamatan sistem pengendalian telah menjadi semakin menonjol. Masalah biasa ialah ralat skrin biru, kod 0x000000d1 adalah salah satu daripadanya. Ralat skrin biru, atau "Skrin Biru Kematian," ialah keadaan yang berlaku apabila komputer mengalami kegagalan sistem yang teruk. Apabila sistem tidak dapat pulih daripada ralat, sistem pengendalian Windows memaparkan skrin biru dengan kod ralat pada skrin. Kod ralat ini
