{"id":59671,"date":"2025-04-23T13:25:11","date_gmt":"2025-04-23T05:25:11","guid":{"rendered":"https:\/\/fwq.ai\/blog\/59671\/"},"modified":"2025-04-23T13:25:11","modified_gmt":"2025-04-23T05:25:11","slug":"ecshop%e5%bc%80%e5%8f%91%e4%b8%8a%e4%bc%a0%e4%b8%8e%e8%af%84%e8%ae%ba%e6%98%be%e7%a4%ba%e4%bc%9a%e5%91%98%e5%a4%b4%e5%83%8f","status":"publish","type":"post","link":"https:\/\/fwq.ai\/blog\/59671\/","title":{"rendered":"ecshop\u5f00\u53d1\u4e0a\u4f20\u4e0e\u8bc4\u8bba\u663e\u793a\u4f1a\u5458\u5934\u50cf"},"content":{"rendered":"<p> \u672c\u6559\u7a0b\u5b9e\u73b0ecshop\u4f1a\u5458\u5934\u50cf\u529f\u80fd\uff0cecshop\u8bc4\u8bba\u663e\u793a\u4f1a\u5458\u5934\u50cf\u529f\u80fd.\u4fee\u6539\u7684\u6b65\u9aa4\u6bd4\u8f83\u591a\uff0c\u8981\u8010\u5fc3\u4e00\u70b9\uff0c\u4e00\u5b9a\u8bb0\u5f97\u5148\u5907\u4efd\u3002<\/p>\n<p> \u5148\u770b\u56fe\uff1a<\/p>\n<p> <img decoding=\"async\" src=\"https:\/\/www.ldhost.cn\/helphmb\/uploads\/allimg\/160426\/2204153491-0.png\" class=\"aligncenter\" title=\"ecshop\u5f00\u53d1\u4e0a\u4f20\u4e0e\u8bc4\u8bba\u663e\u793a\u4f1a\u5458\u5934\u50cf\u63d2\u56fe\" alt=\"ecshop\u5f00\u53d1\u4e0a\u4f20\u4e0e\u8bc4\u8bba\u663e\u793a\u4f1a\u5458\u5934\u50cf\u63d2\u56fe\" \/><\/p>\n<p> <img decoding=\"async\" src=\"https:\/\/www.ldhost.cn\/helphmb\/uploads\/allimg\/160426\/2204155c5-1.jpg\" class=\"aligncenter\" title=\"ecshop\u5f00\u53d1\u4e0a\u4f20\u4e0e\u8bc4\u8bba\u663e\u793a\u4f1a\u5458\u5934\u50cf\u63d2\u56fe1\" alt=\"ecshop\u5f00\u53d1\u4e0a\u4f20\u4e0e\u8bc4\u8bba\u663e\u793a\u4f1a\u5458\u5934\u50cf\u63d2\u56fe1\" \/><\/p>\n<p> <img decoding=\"async\" src=\"https:\/\/www.ldhost.cn\/helphmb\/uploads\/allimg\/160426\/2204156153-2.jpg\" class=\"aligncenter\" title=\"ecshop\u5f00\u53d1\u4e0a\u4f20\u4e0e\u8bc4\u8bba\u663e\u793a\u4f1a\u5458\u5934\u50cf\u63d2\u56fe2\" alt=\"ecshop\u5f00\u53d1\u4e0a\u4f20\u4e0e\u8bc4\u8bba\u663e\u793a\u4f1a\u5458\u5934\u50cf\u63d2\u56fe2\" \/><\/p>\n<p> <img decoding=\"async\" src=\"https:\/\/www.ldhost.cn\/helphmb\/uploads\/allimg\/160426\/2204151N1-3.jpg\" class=\"aligncenter\" title=\"ecshop\u5f00\u53d1\u4e0a\u4f20\u4e0e\u8bc4\u8bba\u663e\u793a\u4f1a\u5458\u5934\u50cf\u63d2\u56fe3\" alt=\"ecshop\u5f00\u53d1\u4e0a\u4f20\u4e0e\u8bc4\u8bba\u663e\u793a\u4f1a\u5458\u5934\u50cf\u63d2\u56fe3\" \/><\/p>\n<p> <img decoding=\"async\" src=\"https:\/\/www.ldhost.cn\/helphmb\/uploads\/allimg\/160426\/2204152443-4.jpg\" class=\"aligncenter\" title=\"ecshop\u5f00\u53d1\u4e0a\u4f20\u4e0e\u8bc4\u8bba\u663e\u793a\u4f1a\u5458\u5934\u50cf\u63d2\u56fe4\" alt=\"ecshop\u5f00\u53d1\u4e0a\u4f20\u4e0e\u8bc4\u8bba\u663e\u793a\u4f1a\u5458\u5934\u50cf\u63d2\u56fe4\" \/><\/p>\n<p> &nbsp;<\/p>\n<p> \u6559\u7a0b\u5f00\u59cb\uff1a<\/p>\n<h3> \u7b2c\u4e00\u6b65\uff1aecs_users \u8868\u52a0\u5165 avatar \u5b57\u6bb5<\/h3>\n<p> \u540e\u53f0 SQL\u67e5\u8be2\u91cc\u8fd0\u884c\u4ee5\u4e0b\u4ee3\u7801\uff1a<\/p>\n<pre>\r\nALTER TABLE `ecs_users` ADD `avatar` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT ''<\/pre>\n<h3> \u7b2c\u4e8c\u6b65\uff1a\u7528\u6237\u4e2d\u5fc3\u6b22\u8fce\u9875\u663e\u793a\u5934\u50cf<\/h3>\n<p> \u6253\u5f00 themes\\default\\user_clips.dwt<\/p>\n<p> \u67e5\u627e\uff1a<\/p>\n<pre>\r\n&lt;!-- *\u7528\u6237\u4e2d\u5fc3\u9ed8\u8ba4\u663e\u793a\u9875\u9762 start--&gt;\r\n&lt;!-- {if $action eq 'default'} --&gt;<\/pre>\n<p> \u5728\u8fd9\u4e24\u884c\u4ee3\u7801\u540e\u9762\u5408\u9002\u4f4d\u7f6e\u52a0\u5165\u4ee5\u4e0b\u4ee3\u7801\uff1a<\/p>\n<pre>\r\n&lt;style&gt;\r\n.avtar .img a{display:none;width:72px;height:23px;background:url(images\/change_avtar.gif);position:absolute;margin-left:44px;margin-top:93px}\r\n.avtar .hover a{display:block}\r\n.Left .img{border:1px solid #d0d0d0;margin-bottom:5px}\r\n.Left .img,.Left .img img{width:120px;height:120px}\r\n&lt;\/style&gt;\r\n&lt;div class=\"Left avtar\" style=\"float:left;width:122px;text-align:center;\"&gt;\r\n    &lt;div onmouseout=\"this.className='img'\" onmouseover=\"this.className='img hover'\" class=\"img\"&gt;\r\n        &lt;a title=\"\u4fee\u6539\u6211\u7684\u5934\u50cf\" href=\"user.php?act=profile\" class=\"red\"&gt;&lt;\/a&gt;\r\n        &lt;img src=\"{if $info.avatar}{$info.avatar}{else}images\/avatar.gif{\/if}\"&gt;\r\n    &lt;\/div&gt;\r\n&lt;\/div&gt;<\/pre>\n<h3> \u7b2c\u4e09\u6b65\uff1a\u7528\u6237\u4fe1\u606f\u4fee\u6539\u9875\u9762\u4e0a\u4f20\u5934\u50cf<\/h3>\n<p> \u6253\u5f00 themes\\default\\user_transaction.dwt&nbsp;<\/p>\n<p> \u67e5\u627e\uff1a<\/p>\n<pre>\r\n&lt;!-- \u7528\u6237\u4fe1\u606f\u754c\u9762 start--&gt;\r\n&lt;!--{if $action eq 'profile'}--&gt;<\/pre>\n<p> \u5728\u8fd9\u4e24\u884c\u4ee3\u7801\u540e\u9762\u627e\u5230\uff1a<\/p>\n<pre>\r\n&lt;form name=\"formEdit\" action=\"user.php\" method=\"post\" onSubmit=\"return userEdit()\"&gt;<\/pre>\n<p> \u4fee\u6539\u6210\uff1a<\/p>\n<pre>\r\n&lt;form name=\"formEdit\" action=\"user.php\" method=\"post\" onSubmit=\"return userEdit()\" enctype=\"multipart\/form-data\"&gt;\r\n&lt;input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"1097152\" \/&gt;&lt;!-- 1M\u56fe\u7247\u4e0a\u4f20\u5927\u5c0f\u8bbe\u7f6e --&gt;<\/pre>\n<p> \u518d\u627e\u5230 submit \u63d0\u4ea4\u4e4b\u524d\u52a0\u5165\uff1a<\/p>\n<pre>\r\n&lt;tr&gt;\r\n    &lt;td width=\"28%\" align=\"right\" bgcolor=\"#FFFFFF\"&gt;\u4f1a\u5458\u5934\u50cf\uff1a&lt;\/td&gt;\r\n    &lt;td width=\"72%\" align=\"left\" bgcolor=\"#FFFFFF\"&gt;\r\n    &lt;div style=\"width:50%;float:left;\"&gt;\r\n        &lt;input id=\"avatar\" type=\"file\" size=\"40\" value=\"\" name=\"avatar\"&gt;\r\n        &lt;br\/&gt;\r\n        &lt;span style=\"color:#FF0000\"&gt; \u56fe\u7247\u50cf\u7d20\u6700\u4f73\u4e3a55px * 55px\uff0c&lt;br\/&gt;\u5927\u5c0f\u4e0d\u5f97\u8d85\u8fc71M&lt;\/span&gt;\r\n    &lt;\/div&gt;\r\n    &lt;div style=\"width:50%;float:left;\"&gt;\r\n        &lt;img src=\"{if $profile.avatar}{$profile.avatar}{else}images\/avatar.gif{\/if}\" alt=\"\" width=\"55\" height=\"55\"&gt;\r\n    &lt;\/div&gt;\r\n    &lt;\/td&gt;\r\n&lt;\/tr&gt;&lt;tr&gt;\r\n    &lt;td width=\"28%\" align=\"right\" bgcolor=\"#FFFFFF\"&gt;\u4f1a\u5458\u5934\u50cf\uff1a&lt;\/td&gt;\r\n    &lt;td width=\"72%\" align=\"left\" bgcolor=\"#FFFFFF\"&gt;\r\n    &lt;div style=\"width:50%;float:left;\"&gt;\r\n        &lt;input id=\"avatar\" type=\"file\" size=\"40\" value=\"\" name=\"avatar\"&gt;\r\n        &lt;br\/&gt;\r\n        &lt;span style=\"color:#FF0000\"&gt; \u56fe\u7247\u50cf\u7d20\u6700\u4f73\u4e3a55px * 55px\uff0c&lt;br\/&gt;\u5927\u5c0f\u4e0d\u5f97\u8d85\u8fc71M&lt;\/span&gt;\r\n    &lt;\/div&gt;\r\n    &lt;div style=\"width:50%;float:left;\"&gt;\r\n        &lt;img src=\"{if $profile.avatar}{$profile.avatar}{else}images\/avatar.gif{\/if}\" alt=\"\" width=\"55\" height=\"55\"&gt;\r\n    &lt;\/div&gt;\r\n    &lt;\/td&gt;\r\n&lt;\/tr&gt;<\/pre>\n<h3> \u7b2c\u56db\u6b65\uff1aphp \u903b\u8f91\u5904\u7406<\/h3>\n<p> \u6253\u5f00\u6839\u76ee\u5f55\u4e0b user.php \u6587\u4ef6<\/p>\n<p> \u67e5\u627e\uff1a<\/p>\n<pre>\r\nrequire(dirname(__FILE__) . '\/includes\/init.php');<\/pre>\n<p> \u5728\u4e0b\u9762\u65b0\u589e\u4e00\u884c\u52a0\u5165\u4ee5\u4e0b\u4ee3\u7801\uff1a<\/p>\n<pre>\r\ninclude_once(ROOT_PATH . '\/includes\/cls_image.php');\/\/\u4f1a\u5458\u5934\u50cf by neo\r\n$image = new cls_image($_CFG['bgcolor']);\/\/\u4f1a\u5458\u5934\u50cf by neo\r\n$allow_suffix = array('gif', 'jpg', 'png', 'jpeg', 'bmp');\/\/\u4f1a\u5458\u5934\u50cf by neo<\/pre>\n<p> \u7ee7\u7eed\u67e5\u627e\uff1a<\/p>\n<pre>\r\n\/* \u66f4\u65b0\u7528\u6237\u6269\u5c55\u5b57\u6bb5\u7684\u6570\u636e *\/<\/pre>\n<p> \u5728\u4e0a\u9762\u52a0\u5165\u4ee3\u7801\uff1a<\/p>\n<pre>\r\n$avatar = isset($_POST['avatar']) ? $_POST['avatar'] : '';\/\/\u4f1a\u5458\u5934\u50cf by neo<\/pre>\n<p> \u7ee7\u7eed\u67e5\u627e\uff1a<\/p>\n<pre>\r\nif (!empty($mobile_phone) &amp;&amp; !preg_match('\/^[\\d-\\s]+$\/', $mobile_phone))\r\n{\r\n    show_message($_LANG['passport_js']['mobile_phone_invalid']);\r\n}<\/pre>\n<p> \u5728\u4e0b\u9762\u52a0\u5165\u4ee3\u7801\uff1a<\/p>\n<pre>\r\n\/* \u68c0\u67e5\u56fe\u7247\uff1a\u5982\u679c\u6709\u9519\u8bef\uff0c\u68c0\u67e5\u5c3a\u5bf8\u662f\u5426\u8d85\u8fc7\u6700\u5927\u503c\uff1b\u5426\u5219\uff0c\u68c0\u67e5\u6587\u4ef6\u7c7b\u578b *\/\r\n    if (isset($_FILES['avatar']['error'])) \/\/ php 4.2 \u7248\u672c\u624d\u652f\u6301 error\r\n    {\r\n        \/\/ \u6700\u5927\u4e0a\u4f20\u6587\u4ef6\u5927\u5c0f\r\n        $php_maxsize = ini_get('upload_max_filesize');\r\n        $htm_maxsize = '1M';\r\n      \r\n        \/\/ \u4f1a\u5458\u5934\u50cf\r\n        if ($_FILES['avatar']['error'] == 0)\r\n        {\r\n            if (!$image-&gt;check_img_type($_FILES['avatar']['type']))\r\n            {\r\n                show_message(\"\u56fe\u7247\u683c\u5f0f\u4e0d\u6b63\u786e\uff01\");\r\n            }\r\n        }\r\n        elseif ($_FILES['avatar']['error'] == 1)\r\n        {\r\n            show_message(sprintf('\u56fe\u7247\u6587\u4ef6\u592a\u5927\u4e86(\u6700\u5927\u503c\uff1a1M)\uff0c\u65e0\u6cd5\u4e0a\u4f20\u3002', $php_maxsize), $_LANG['profile_lnk'], 'user.php?act=profile', 'info');\r\n        }\r\n        elseif ($_FILES['avatar']['error'] == 2)\r\n        {\r\n            show_message(sprintf('\u56fe\u7247\u6587\u4ef6\u592a\u5927\u4e86(\u6700\u5927\u503c\uff1a1M)\uff0c\u65e0\u6cd5\u4e0a\u4f20\u3002', $htm_maxsize), $_LANG['profile_lnk'], 'user.php?act=profile', 'info');\r\n        }\r\n      \r\n    }\r\n    \/* 4.1\u7248\u672c *\/\r\n    else\r\n    {\r\n        \/\/ \u4f1a\u5458\u5934\u50cf\r\n        if ($_FILES['avatar']['tmp_name'] != 'none')\r\n        {\r\n            if (!$image-&gt;check_img_type($_FILES['avatar']['type']))\r\n            {\r\n                show_message(\"\u56fe\u7247\u683c\u5f0f\u4e0d\u6b63\u786e\uff01\");\r\n            }\r\n        }\r\n    }\r\n          \r\n    \/\/\u4f1a\u5458\u5934\u50cf by neo\r\n    if (!empty($_FILES['avatar']['name']))\r\n    {\r\n        \/* \u66f4\u65b0\u4f1a\u5458\u5934\u50cf\u4e4b\u524d\u5148\u5220\u9664\u65e7\u7684\u5934\u50cf *\/\r\n        $sql = \"SELECT avatar \" .\r\n                \" FROM \" . $GLOBALS['ecs']-&gt;table('users') .\r\n                \" WHERE user_id = '$user_id'\";\r\n      \r\n        $row = $GLOBALS['db']-&gt;getRow($sql);\r\n      \r\n        if ($row['avatar'] != '')\r\n        {\r\n            @unlink($row['avatar']);\r\n        }\r\n              \r\n        $img_name = $user_id . '.' . end(explode('.', $_FILES['avatar']['name']));\r\n      \r\n        $target = ROOT_PATH . DATA_DIR . '\/avatar\/';\r\n              \r\n        $original_img = $image-&gt;upload_image($_FILES['avatar'], 'avatar', $img_name); \/\/ \u539f\u59cb\u56fe\u7247\r\n      \r\n        $avatar = $image-&gt;make_thumb($original_img, 55, 55, $target);\r\n      \r\n        if ($avatar === false)\r\n        {\r\n            show_message(\"\u56fe\u7247\u4fdd\u5b58\u51fa\u9519\uff01\");\r\n        }\r\n    }<\/pre>\n<h3> \u7ee7\u7eed\u5728\u4e0b\u9762\u627e\u5230\uff1a<\/h3>\n<pre>\r\n$profile  = array(\r\n        'user_id'  =&gt; $user_id,\r\n        'email'    =&gt; isset($_POST['email']) ? trim($_POST['email']) : '',\r\n        'sex'      =&gt; isset($_POST['sex'])   ? intval($_POST['sex']) : 0,\r\n        'birthday' =&gt; $birthday,\r\n        'other'    =&gt; isset($other) ? $other : array()\r\n        );<\/pre>\n<p> \u4fee\u6539\u6210\uff1a<\/p>\n<pre>\r\n$profile  = array(\r\n        'user_id'  =&gt; $user_id,\r\n        'email'    =&gt; isset($_POST['email']) ? trim($_POST['email']) : '',\r\n        'sex'      =&gt; isset($_POST['sex'])   ? intval($_POST['sex']) : 0,\r\n        'birthday' =&gt; $birthday,\r\n        'avatar'   =&gt; $avatar,\/\/\u4f1a\u5458\u5934\u50cf by neo\r\n        'other'    =&gt; isset($other) ? $other : array()\r\n        );<\/pre>\n<h3> \u7b2c\u4e94\u6b65\uff1a<\/h3>\n<p> \u6253\u5f00\u6839\u76ee\u4e0b \/includes\/lib_clips.php<\/p>\n<p> \u67e5\u627e\uff1a<\/p>\n<pre>\r\nfunction get_user_default($user_id)\r\n{\r\n    $user_bonus = get_user_bonus();\r\n      \r\n    $sql = \"SELECT pay_points, user_money, credit_line, last_login, is_validated FROM \" .$GLOBALS['ecs']-&gt;table('users'). \" WHERE user_id = '$user_id'\";<\/pre>\n<p> \u66ff\u6362\u6210\uff1a<\/p>\n<pre>\r\nfunction get_user_default($user_id)\r\n{\r\n    $user_bonus = get_user_bonus();\r\n    \/\/\u4f1a\u5458\u5934\u50cf by neo\r\n    $sql = \"SELECT pay_points, user_money, credit_line, last_login, is_validated, avatar FROM \" .$GLOBALS['ecs']-&gt;table('users'). \" WHERE user_id = '$user_id'\";<\/pre>\n<p> \u7ee7\u7eed\u5728\u540e\u9762\u627e\u5230\uff1a<\/p>\n<pre>\r\n$info = array();<\/pre>\n<p> \u5728\u4e0b\u9762\u4e00\u884c\u52a0\u5165\uff1a<\/p>\n<pre>\r\n$info['avatar'] = $row['avatar'];\/\/\u4f1a\u5458\u5934\u50cf by neo\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u672c\u6559\u7a0b\u5b9e\u73b0ecshop\u4f1a\u5458\u5934\u50cf\u529f\u80fd\uff0cecshop\u8bc4\u8bba\u663e\u793a\u4f1a\u5458\u5934\u50cf\u529f\u80fd.\u4fee\u6539\u7684\u6b65\u9aa4\u6bd4\u8f83\u591a\uff0c\u8981\u8010\u5fc3\u4e00\u70b9\uff0c\u4e00\u5b9a\u8bb0\u5f97\u5148\u5907\u4efd\u3002 \u5148\u770b\u56fe\uff1a &nbsp; \u6559\u7a0b\u5f00\u59cb\uff1a \u7b2c\u4e00\u6b65\uff1aecs_users \u8868\u52a0\u5165 avatar \u5b57\u6bb5 \u540e\u53f0 SQL\u67e5\u8be2\u91cc\u8fd0\u884c\u4ee5\u4e0b\u4ee3\u7801\uff1a ALTER TABLE `ecs_users` ADD `avatar` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT &#8221; \u7b2c\u4e8c\u6b65\uff1a\u7528\u6237\u4e2d\u5fc3\u6b22\u8fce\u9875\u663e\u793a\u5934\u50cf \u6253\u5f00 themes\\default\\user_clips.dwt \u67e5\u627e\uff1a &lt;!&#8211; *\u7528\u6237\u4e2d\u5fc3\u9ed8\u8ba4\u663e\u793a\u9875\u9762 start&#8211;&gt; &lt;!&#8211; {if $action eq &#8216;default&#8217;} &#8211;&gt; \u5728\u8fd9\u4e24\u884c\u4ee3\u7801\u540e\u9762\u5408\u9002\u4f4d\u7f6e\u52a0\u5165\u4ee5\u4e0b\u4ee3\u7801\uff1a &lt;style&gt; .avtar .img a{display:none;width:72px;height:23px;background:url(images\/change_avtar.gif);position:absolute;margin-left:44px;margin-top:93px} .avtar .hover a{display:block} .Left .img{border:1px solid #d0d0d0;margin-bottom:5px} .Left .img,.Left .img [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16],"tags":[],"class_list":["post-59671","post","type-post","status-publish","format-standard","hentry","category-16"],"_links":{"self":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/59671","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/comments?post=59671"}],"version-history":[{"count":0,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/59671\/revisions"}],"wp:attachment":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/media?parent=59671"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/categories?post=59671"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/tags?post=59671"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}