public function yzm($Url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $Url[1]); curl_setopt($ch, CURLOPT_REFERER, $Url[2]); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 1); /* 设置代理 start */ $IP = array("202.106.16.36:3128"); $k = array_rand($IP, 1); // 获取随机 IP 的下标值 curl_setopt($ch, CURLOPT_PROXYAUTH, CURLAUTH_BASIC); //代理认证模式 curl_setopt($ch, CURLOPT_PROXY, $IP[$k]); //代理服务器地址 //curl_setopt($ch, CURLOPT_PROXYPORT, 80); //代理服务器端口 //curl_setopt($ch, CURLOPT_PROXYUSERPWD, ":"); //http代理认证帐号,username:password的格式 curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP); //使用http代理模式 /* 设置代理 end */ /* 生成临时文件来保存cookie $ckFile = tempnam('temp','cookie'); curl_setopt($ch, CURLOPT_COOKIEJAR, $ckFile); */ $output = curl_exec($ch); curl_close($ch); //获取cookieStr $cookieStr == ""; preg_match('/Set-Cookie:(.*);/iU', $output, $matches); $cookieStr = $matches[1]; if ($cookieStr == "") { return -1; } //获取图片内容 $pos = strrpos($output, "JFIF"); $picContent = substr($output, $pos - 6); //保存图片 $picName = md5(time()); $verPic = "./Public/temp/" . "{$picName}" . ".jpg"; $file = new \Think\Storage\Driver\File(); $file->put($verPic, $picContent, "jpg"); // $fp = fopen($verPic, 'w'); // fwrite($fp, $picContent, strlen($picContent)); // fclose($fp); // 验证码识别 $valid = new ValiteController(); $valid->setImage($verPic); $validCode = $valid->getResult(); // 验证码值 //设置 session session('cookie', $cookieStr); session('vercode', $validCode); // "1234" $validCode $file->unlink($verPic, "jpg"); //unlink($verPic);// 删除图片 }
public function del() { if (!IS_AJAX) { $this->error(L('_ERROR_ACTION_')); } if (IS_POST) { $files_info = get_dir_file_info(C('BACKUP_PATH')); $files_md5 = explode(',', I('post.ids')); foreach ($files_info as $item) { if (pathinfo($item['name'], PATHINFO_EXTENSION) == 'sql') { if (in_array(md5($item['name']), $files_md5)) { $delres = \Think\Storage\Driver\File::unlink($item['relative_path'] . $item['name']); if ($delres === FALSE) { $this->error(L('DEL_ERROR')); exit; } } } } $this->success(L('DEL_OK'), U('Database/recover', $this->vl)); } else { $filename = base64_decode(I('get.file')); $file = C('BACKUP_PATH') . $filename; $delres = \Think\Storage\Driver\File::unlink($file); if ($delres) { $this->success(L('DEL_OK'), U('Database/recover', $this->vl)); } else { $this->error(L('DEL_ERROR')); } } }