Beispiel #1
0
                        if ($pos = strripos($pic['filename'], '.gif')) {
                            $dest = $pic_dir . substr($pic['filename'], 0, $pos + 4);
                        } else {
                            $dest = $pic_dir . substr($pic['filename'], 0, strripos($s, '.')) . '.jpg';
                        }
                    }
                }
            }
            $error = my_copy($source, $dest);
            if (!$error) {
                sleep(5);
                $error = my_copy($source, $dest);
            }
            if (!$error) {
                sleep(5);
                $error = my_copy($source, $dest);
            }
            if (!$error) {
                do_log($error_log, $pic['src'] . "\n");
                //记录没有采集成功的图片
                continue;
            }
            do_log($success_log, $pic['filename'] . "\n");
        }
    }
    ob_flush();
    flush();
    $posi = $key + 1;
    echo $posi . '/' . $total . '<br />';
}
function get_file($path)
Beispiel #2
0
 }
 if (!$D->error && $D->terms_of_use && !$D->accept_terms) {
     $D->error = TRUE;
     $D->errmsg = 'signup_err_terms';
 }
 if (!$D->error) {
     $tmplang = $db2->fetch_field('SELECT value FROM settings WHERE word="LANGUAGE" LIMIT 1');
     $tmpzone = $db2->fetch_field('SELECT value FROM settings WHERE word="DEF_TIMEZONE" LIMIT 1');
     $tmppass = md5($D->password);
     $db2->query('INSERT INTO users SET email="' . $db2->e($D->email) . '", username="******", password="******", fullname="' . $db2->e($D->fullname) . '", language="' . $tmplang . '", timezone="' . $tmpzone . '", reg_date="' . time() . '", reg_ip="' . ip2long($_SERVER['REMOTE_ADDR']) . '", active=1');
     $user_id = intval($db2->insert_id());
     $db1->query('DELETE FROM unconfirmed_registrations WHERE email="' . $db1->e($D->email) . '" ');
     $this->user->login($D->email, md5($D->password), FALSE);
     $gravatar_url = 'http://www.gravatar.com/avatar/' . md5($D->email) . '?s=' . $C->AVATAR_SIZE . '&d=404';
     $gravatar_local = $C->TMP_DIR . 'grvtr' . time() . rand(0, 9999) . '.jpg';
     if (@my_copy($gravatar_url, $gravatar_local)) {
         list($w, $h, $tp) = @getimagesize($gravatar_local);
         if ($w && $h && $tp && $w == $C->AVATAR_SIZE && $h >= $C->AVATAR_SIZE && ($tp == IMAGETYPE_JPEG || $tp == IMAGETYPE_GIF || $tp == IMAGETYPE_PNG)) {
             $fn = time() . rand(100000, 999999) . '.png';
             $res = copy_avatar($gravatar_local, $fn);
             if ($res) {
                 $db2->query('UPDATE users SET avatar="' . $db2->escape($fn) . '" WHERE id="' . $user_id . '" LIMIT 1');
                 $this->network->get_user_by_id($user_id, TRUE);
             }
         }
         rm($gravatar_local);
     }
     $invited_from = array();
     $r = $db2->query('SELECT DISTINCT user_id FROM users_invitations WHERE recp_email="' . $db2->e($D->email) . '" LIMIT 1');
     if ($db2->num_rows($r) > 0) {
         while ($tmpu = $db2->fetch_object($r)) {
function my_dir_copy($oldname, $newname)
{
    if (!is_dir($newname)) {
        mkdir($newname);
    }
    $dir = opendir($oldname);
    while ($file = readdir($dir)) {
        if ($file == "." || $file == "..") {
            continue;
        }
        my_copy("{$oldname}/{$file}", "{$newname}/{$file}");
    }
    closedir($dir);
    return $store_images_created = 'true';
}
Beispiel #4
0
 public function attach_videoembed($video)
 {
     global $C;
     if (isset($this->attached['videoembed'])) {
         unset($this->attached['videoembed']);
     }
     $data = (object) array('in_tmpdir' => TRUE, 'src_site' => '', 'src_id' => '', 'title' => '', 'file_thumbnail' => time() . rand(100000, 999999) . '_thumb.gif', 'embed_code' => '', 'embed_w' => '', 'embed_h' => '', 'orig_url' => '', 'hits' => 0);
     $S = $C->NEWPOST_EMBEDVIDEO_SOURCES;
     foreach ($S as $k => $obj) {
         if (preg_match($obj->src_url_pattern, $video, $matches)) {
             $data->src_id = $matches[$obj->src_url_matchnum];
             $data->src_site = $k;
             break;
         } elseif (preg_match($obj->src_emb_pattern, $video, $matches)) {
             $data->src_id = $matches[$obj->src_emb_matchnum];
             $data->src_site = $k;
             break;
         }
     }
     if (empty($data->src_site) || empty($data->src_id)) {
         return FALSE;
     }
     if ($this->if_youtube_widescreen($video)) {
         $data->src_site .= '_widescreen';
     }
     $S = $S[$data->src_site];
     $data->embed_w = $S->embed_w;
     $data->embed_h = $S->embed_h;
     $data->embed_code = str_replace('###ID###', $data->src_id, $S->embed_code);
     $data->orig_url = str_replace('###ID###', $data->src_id, $S->insite_url);
     if (!empty($S->embed_thumb)) {
         $tmp = str_replace('###ID###', $data->src_id, $S->embed_thumb);
         if (my_copy($tmp, $C->TMP_DIR . $data->file_thumbnail)) {
             $res = copy_attachment_videoimg($C->TMP_DIR . $data->file_thumbnail, $C->TMP_DIR . $data->file_thumbnail, $C->ATTACH_VIDEO_THUMBSIZE);
             if (!$res) {
                 rm($C->TMP_DIR . $data->file_thumbnail);
             }
         }
     }
     if (!file_exists($C->TMP_DIR . $data->file_thumbnail)) {
         $data->file_thumbnail = '';
     }
     return $this->attached['videoembed'] = $data;
 }
Beispiel #5
0
<?php

$url = 'http://pic.hellocache.com/2010/05/01/m/1145298959/298a66829b1d0263303ed6b33568a143-1272705875.jpg';
my_copy($url, 'pp.jpg');
echo "<img src='pp.jpg' />";
function my_copy($source, $dest)
{
    $res = @copy($source, $dest);
    if ($res) {
        chmod($dest, 0777);
        return TRUE;
    }
    if (function_exists('curl_init') && preg_match('/^(http|https|ftp)\\:\\/\\//u', $source)) {
        global $C;
        $dst = fopen($dest, 'w');
        if (!$dst) {
            return FALSE;
        }
        $ch = curl_init();
        curl_setopt_array($ch, array(CURLOPT_FILE => $dst, CURLOPT_HEADER => FALSE, CURLOPT_URL => $source, CURLOPT_CONNECTTIMEOUT => 3, CURLOPT_TIMEOUT => 5, CURLOPT_MAXREDIRS => 5, CURLOPT_REFERER => $C->SITE_URL, CURLOPT_USERAGENT => isset($_SERVER['HTTP_USER_AGENT']) ? trim($_SERVER['HTTP_USER_AGENT']) : 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1'));
        @curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
        $res = curl_exec($ch);
        fclose($dst);
        if (!$res) {
            curl_close($ch);
            return FALSE;
        }
        if (curl_errno($ch)) {
            curl_close($ch);
            return FALSE;
        }
Beispiel #6
0
function copy_attachment_videoimg($source, $destination, $size)
{
    global $C;
    if (preg_match('/^(http|https|ftp)\\:\\/\\//u', $source)) {
        $tmp = $C->TMP_DIR . 'tmp' . md5(time() . rand()) . '.' . pathinfo($source, PATHINFO_EXTENSION);
        $res = my_copy($source, $tmp);
        if (!$res) {
            return FALSE;
        }
        chmod($tmp, 0777);
        $source = $tmp;
    }
    if (!file_exists($source)) {
        return FALSE;
    }
    list($w, $h, $tp) = getimagesize($source);
    if ($w == 0 || $h == 0) {
        return FALSE;
    }
    if ($tp != IMAGETYPE_GIF && $tp != IMAGETYPE_JPEG && $tp != IMAGETYPE_PNG) {
        return FALSE;
    }
    if ($C->IMAGE_MANIPULATION == "imagemagick_cli") {
        if ($tp == IMAGETYPE_GIF) {
            $source .= '[0]';
        }
        exec($C->IM_CONVERT . ' ' . $source . ' -gravity Center -resize ' . ($w > $h ? 'x' . $size : $size . 'x') . ' -crop ' . $size . 'x' . $size . '+0+0 -strip +repage ' . $destination);
    } else {
        $srcp = FALSE;
        switch ($tp) {
            case IMAGETYPE_GIF:
                $srcp = imagecreatefromgif($source);
                break;
            case IMAGETYPE_JPEG:
                $srcp = imagecreatefromjpeg($source);
                break;
            case IMAGETYPE_PNG:
                $srcp = imagecreatefrompng($source);
                break;
        }
        if (!$srcp) {
            return FALSE;
        }
        $newx = $w > $h ? round(($w - $h) / 2) : 0;
        $newy = $w > $h ? 0 : round(($h - $w) / 2);
        $dstp = imagecreatetruecolor($size, $size);
        $res = imagecopyresampled($dstp, $srcp, 0, 0, $newx, $newy, $size, $size, min($w, $h), min($w, $h));
        if (!$res) {
            imagedestroy($srcp);
            imagedestroy($dstp);
            return FALSE;
        }
        switch ($tp) {
            case IMAGETYPE_GIF:
                $res = imagegif($dstp, $destination);
                break;
            case IMAGETYPE_JPEG:
                $res = imagejpeg($dstp, $destination, 100);
                break;
            case IMAGETYPE_PNG:
                $res = imagepng($dstp, $destination);
                break;
        }
        imagedestroy($srcp);
        imagedestroy($dstp);
        if (!$res) {
            return FALSE;
        }
    }
    chmod($destination, 0777);
    return TRUE;
}
Beispiel #7
0
 public function submit()
 {
     Fn::ajax_call($this, 'logout');
     $uid = $this->_uinfo['uid'];
     if ($uid or !$this->session->userdata('complete')) {
         // 已注册,或未填写完整信息。跳转到报名信息复核页面
         redirect('student/profile/preview');
     }
     // 读取sesseion数据
     $student = $this->session->userdata('student');
     $score_ranks = $this->session->userdata('score_ranks');
     $awards_list = $this->session->userdata('awards_list');
     $practice = $this->session->userdata('practice');
     $student_wish = $this->session->userdata('student_wish');
     $parent_wish = $this->session->userdata('parent_wish');
     $xuekao_xuankao = $this->session->userdata('xuekao_xuankao');
     $student['source_from'] = 3;
     //普通注册
     // 检查email是否已注册
     $query = $this->db->select('uid')->get_where('student', array('email' => $student['email']), 1);
     if ($query->num_rows()) {
         message('Email地址已被注册!');
     }
     // 如果上传图片,转移图片
     if ($student['picture']) {
         $new_picture = 'uploads/student/' . date('Ym') . '/' . basename($student['picture']);
         if (my_copy($student['picture'], $new_picture, TRUE)) {
             $student['picture'] = $new_picture;
         }
     }
     if (!is_array($awards_list)) {
         $awards_list = array();
     }
     $new_awards_list = array();
     foreach ($awards_list as $type_id => $type_list) {
         $new_awards_list = array_merge($new_awards_list, $type_list);
     }
     $extends = array('score_ranking' => &$score_ranks, 'awards_list' => &$new_awards_list, 'practice' => &$practice, 'student_wish' => &$student_wish, 'parent_wish' => &$parent_wish, 'xuekao_xuankao' => &$xuekao_xuankao);
     //补充学生的所在区域
     $school_id = $student['school_id'];
     if ($school_id) {
         $school = Fn::db()->fetchRow("select province,city,area from rd_school where school_id={$school_id}");
     } else {
         $school = array();
     }
     $student['province'] = isset($school['province']) ? $school['province'] : 0;
     $student['city'] = isset($school['city']) ? $school['city'] : 0;
     $student['area'] = isset($school['area']) ? $school['area'] : 0;
     //将学校名称移除
     if (isset($student['school_name'])) {
         unset($student['school_name']);
     }
     if (isset($student['external_account'])) {
         $student_ticket = $student['external_account'];
     }
     $result = StudentModel::add($student, $extends);
     if ($result['success'] == false) {
         message($result['msg']);
     }
     $uid = $result['uid'];
     $exam_ticket = $result['exam_ticket'];
     $student_base = $this->session->userdata('student_base');
     $student1 = array();
     //$student1['school_id'] = $student_base['school_id'];
     $student1['address'] = $student_base['address'];
     $student1['zipcode'] = $student_base['zipcode'];
     $sbinfo = array();
     $sbinfo['sb_addr_provid'] = $student_base['sb_addr_provid'];
     $sbinfo['sb_addr_cityid'] = $student_base['sb_addr_cityid'];
     $sbinfo['sb_addr_areaid'] = $student_base['sb_addr_areaid'];
     $sbinfo['sb_addr_desc'] = $student_base['sb_addr_desc'];
     // 培训机构、培训课程、授课教师
     $sbcinfo = array();
     $sbcinfo['no_tiid'] = $student_base['no_tiid'];
     $sbcinfo['sbc_tiid'] = $student_base['sbc_tiid'];
     $sbcinfo['ti_name'] = $student_base['ti_name'];
     $sbcinfo['sbc_corsid'] = $student_base['sbc_corsid'];
     $sbcinfo['cors_cmid'] = $student_base['cors_cmid'];
     $sbcinfo['cors_name'] = $student_base['cors_name'];
     $sbcinfo['sbc_teachers'] = $student_base['sbc_teachers'];
     $sbs_stunumtype = $student_base['sbs_stunumtype'];
     if (!is_array($sbs_stunumtype)) {
         $sbs_stunumtype = array();
     }
     $sbclassid_classid = $student_base['sbclassid_classid'];
     if (!is_array($sbclassid_classid)) {
         $sbclassid_classid = array();
     }
     $db = Fn::db();
     $bOk = false;
     try {
         if ($db->beginTransaction()) {
             $db->update('rd_student', $student1, "uid = {$uid}");
             //$db->delete('t_student_base', "sb_uid = $uid");
             $sbinfo['sb_uid'] = $uid;
             $db->insert('t_student_base', $sbinfo);
             //$db->delete('t_student_base_classid', "sbclassid_uid = $uid");
             foreach ($sbclassid_classid as $v) {
                 $db->insert('t_student_base_classid', array('sbclassid_uid' => $uid, 'sbclassid_classid' => $v));
             }
             //$db->delete('t_student_base_stunumtype', "sbs_uid = $uid");
             foreach ($sbs_stunumtype as $v) {
                 $db->insert('t_student_base_stunumtype', array('sbs_uid' => $uid, 'sbs_stunumtype' => $v));
             }
             //$db->delete('t_student_base_course', 'sbc_uid = ' . $uid);
             if (empty($sbcinfo['no_tiid'])) {
                 $now_time = time();
                 if (!$sbcinfo['sbc_tiid']) {
                     $row = array('ti_name' => $sbcinfo['ti_name'], 'ti_typeid' => 1, 'ti_flag' => $now_time, 'ti_priid' => 0, 'ti_provid' => $sbinfo['sb_addr_provid'], 'ti_cityid' => $sbinfo['sb_addr_cityid'], 'ti_areaid' => $sbinfo['sb_addr_areaid'], 'ti_addtime' => date('Y-m-d H:i:s', $now_time), 'ti_adduid' => 1);
                     $db->insert('t_training_institution', $row);
                     $ti_id = $db->lastInsertId('t_training_institution', 'ti_id');
                     $sbcinfo['sbc_tiid'] = $ti_id;
                 }
                 if (!$sbcinfo['sbc_corsid']) {
                     if ($sbcinfo['cors_cmid'] != 1) {
                         $sbcinfo['cors_cmid'] = 2;
                     }
                     $row = array('cors_name' => $sbcinfo['cors_name'], 'cors_cmid' => $sbcinfo['cors_cmid'], 'cors_flag' => $now_time, 'cors_tiid' => $sbcinfo['sbc_tiid'], 'cors_stunumtype' => $sbcinfo['cors_cmid'], 'cors_addtime' => date('Y-m-d H:i:s', $now_time), 'cors_adduid' => 1);
                     $db->insert('t_course', $row);
                     $cors_id = $db->lastInsertId('t_course', 'cors_id');
                     $sbcinfo['sbc_corsid'] = $cors_id;
                 }
                 $db->insert('t_student_base_course', array('sbc_uid' => $uid, 'sbc_idx' => 0, 'sbc_tiid' => $sbcinfo['sbc_tiid'], 'sbc_corsid' => $sbcinfo['sbc_corsid'], 'sbc_teachers' => $sbcinfo['sbc_teachers']));
             }
             $bOk = $db->commit();
             if (!$bOk) {
                 $err = $db->errorInfo()[2];
                 $db->rollBack();
                 //message($err);
             }
         }
         if (!$bOk) {
             //message('执行事务处理失败');
         }
     } catch (Exception $e) {
         //message($e->getMessage());
     }
     StudentModel::studentAjaxLogin(array('ticket' => $exam_ticket, 'password' => $student['password']), true);
     // 清除其他session
     $unset_items = array('student' => '', 'student_base', 'score_ranks' => '', 'awards_list' => '', 'practice' => '', 'student_wish' => '', 'parent_wish' => '', 'xuekao_xuankao' => '', 'complete' => '');
     $this->session->unset_userdata($unset_items);
     // 发送邮件
     $email_tpl = C('email_template/register');
     $mail = array('student' => $student, 'hash' => email_hash('encode', $uid));
     send_email($email_tpl['subject'], $this->load->view($email_tpl['tpl'], $mail, TRUE), $student['email']);
     // 成功信息显示
     $data['student'] = $student;
     $data['exam_ticket'] = $result['exam_ticket'];
     $line_width = array(1, 2, 3, 4, 4, 5, 5, 6, 7, 8);
     $data['line_width'] = $line_width;
     $this->_uinfo = StudentModel::studentLoginUInfo();
     $data['uinfo'] = $this->_uinfo;
     // 模版
     $this->load->view('profile/success', $data);
 }
Beispiel #8
0
<?php

header("Content-type: text/html; charset=utf8");
$tmp = file_get_contents('http://51uway.com/bussiness-0755904180.html');
preg_match("|<div id=\"pro_lbot_b\">(.*?)</div>|is", $tmp, $row);
$c = $row[1];
preg_match_all("|<img src=\"(.*?)\".*?/>|is", $row[1], $img);
$new_img = array();
foreach ($img[1] as $key => $val) {
    $file_img = "http://51uway.com/" . substr($val, 6);
    $path_parts = array();
    $path_parts = pathinfo($file_img);
    my_copy($file_img, $path_parts['basename']);
    $new_img[$key] = $path_parts['basename'];
}
var_dump($new_img);
//----------------------
function my_copy($source, $dest)
{
    /*
    $res	= @copy($source, $dest);
    if( $res ) {
        chmod($dest, 0777);
        return TRUE;
    }
    */
    if (function_exists('curl_init') && preg_match('/^(http|https|ftp)\\:\\/\\//u', $source)) {
        echo '11111111111111111111';
        $dst = fopen($dest, 'w');
        if (!$dst) {
            return FALSE;