首页
关于
Search
1
Fastadmin 美化后台样式
310,894 阅读
2
关于破解移动宽带光猫 型号: GS3101 超级管理员密码
26,920 阅读
3
给Thinkphp3用上composer
19,965 阅读
4
Wallpaper完美壁纸修复天气bug(无需申请API)
19,751 阅读
5
PECL无法安装时手动编译安装PHP扩展
19,609 阅读
Linux
Mysql
PHP
Nginx
归档
Android
Python
IOS
浴室沉思
C++
CCF CSP认证
Windows
C#
前端
登录
Search
标签搜索
php
git
Windows
wkhtmltopdf
短信
defense
API
Google Photos
python
wkhtmltoimage
网页快照
linux
ssr
https
mail
sms
小程序
封装
ComoBox
拼多多
Guooo
累计撰写
126
篇文章
累计收到
81
条评论
首页
栏目
Linux
Mysql
PHP
Nginx
归档
Android
Python
IOS
浴室沉思
C++
CCF CSP认证
Windows
C#
前端
页面
关于
搜索到
53
篇与
的结果
2017-05-26
PHPstorm使用SVN
简介SVN是Subversion(记住这个词)的简称,PhpStorm内置了svn支持,所以其实无需单独下载svn。操作步骤打开Subversion打开PhpStorm,找到工具 VCS—>Checkout from Version Control—>Subversion ,点击进入。添加点击页面中的“+”号,然后输入svn地址(Repository URL 仓库链接)。点击OK。点击checkout检出选择一个本地目录选择一个本地的目标目录,点击OK。选择需要更新到本地的版本,点击OK。选择svn服务器版本,点击OK。更新到本地第一次更新可能时间会长一点。耐心等待。完成后会询问你是否打开该项目,点击YES,进入项目。到此为止项目已经更新到本地。更新或者提交更新点update提交点commit或者这里有快捷方式查看版本历史查看svn历史记录:VCS—>Subversion—>Show History,点击进入。然后点击旁边的双向箭头,显示该版本提交的变更文档列表。然后点击左上角按钮,显示文档变更对比。注意事项过程中间可能需要填写账号密码过程中可能会出现 Executable is not specified(未指定可执行项目) 提示;或者出现Connot run program "svn"(……): CreateProcess error=2,……问题出在命令行工具上。解决办法:点击 File—>Settings,找到Version Control——>Subversion——>General选项卡,全部取消选择。
2017年05月26日
1,836 阅读
0 评论
0 点赞
2017-05-24
Python自动化实现主动推送站点到百度
在百度站长平台中,有各种方式可以提交自己的站点,以提高百度抓取自己网站的效率。此文章旨在使用主动推送(实时)提交到百度站长平台以提高网站曝光率。此方法是使用curl推送,所以在这里找到你的示例命令(前提是你要成为站长)然后我是在Linux上面执行的Python,其他平台此方法不适用。找个你喜欢的目录新建一个你喜欢的文件夹文件结构其实一共就两个文件,还有一个是自动生成的curl.py #用来执行自动推送geturl.py #抓取网站所有链接urls.txt #保存抓取的网站链接其中urls.txt是在执行 geturls.py 后自动生成,用以保存你要推送网站的所有链接代码curl.py#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 17/02/28 下午9:44 import os import time while True: ###### cmd = "你在百度站长中看到的curl推送示例命令" ###### cmd = "curl -H \'Content-Type:text/plain\' --data-binary @urls.txt \"http://data.zz.baidu.com/urls?site=note.coccoo.cc&token=xxxxxxxxxxxxxxx\"" os.system(cmd) # 休息间隔为 1s 。。。哦不对,10s time.sleep(10)geturl.py 抓取网页连接这里的目的是抓取指定网站的所有链接,以每个一行的形式保存到txt文本中import re import requests # 获取网页内容 r = requests.get('http://note.coccoo.cc') data = r.text # 利用正则查找所有连接 link_list =re.findall(r"(?<=href=\").+?(?=\")|(?<=href=\').+?(?=\')" ,data) # 写入文本中 f = open("urls.txt",'wb') for url in link_list: f.write(url+'\n') f.close()运行脚本首先运行geturl.py获取网站链接库python geturl.py然后当前文件夹就会多出了一个urls.txt的文本,就是你的网站链接库让服务器自动帮你推送网站到百度nohup python curl.py &到此,任务就结束了,只不过每次网站更新后,你都需要重新运行第一步的脚本获取最新链接库所以我又把两个脚本合并一起,实时更新链接库并推送代码在此curl.zip直接解压后上传到服务器,执行nohup python curl.py &就可以了百度站长工具每天推送url的次数是5,000,000次,所以你要根据你网站中链接数量修改时间间隔,以免次数超纲,建议每分钟提交网站数量在 3400 以内注意事项:如果出现报错Traceback (most recent call last): File "geturl.py", line 3, in <module> import requests ImportError: No module named requests这是没有安装requests模块导致的,直接执行pip install requests安装就可以了如果这一句报错pip: command not found...,那就是你没安装pip,直接百度下根据你的系统安装python-pip比如 我的是Centos,安装命令yum -y install python-pip然后直接再继续执行就ok了
2017年05月24日
3,219 阅读
0 评论
0 点赞
2017-05-03
Python在linux简单自动化工作
自动部署hexo到coding和github是酱紫,我用的是小书匠当做markdown编辑器,它可以自动把markdown源码同步到github,但是用github pages做hexo博客的话,于国内访问速度有点慢,于是打算用coding pages当做国内的hexo托管网站,github用做国外dalao浏览用 (如果有的话)。于是乎,我在想,能不能自动从github上clone源markdown文件,然后自动生成,部署到github pages和coding pages上。所以我把代码放到了一台闲置的服务器上,让它每天自动帮我同步。代码就如下了:#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 17/02/28 下午9:44 import os import time hexoMd = "/home/hexo/source/_posts" #hexo的md文件路径 hexo = "/home/hexo" #hexo根目录 xiaoshujiangPath = "/home/xiaoshujiang" #xiaoshujiang本地仓库存放路径 xiaoshujiang = "git@github.com:gty2012gty/xiaoshujiang.git" #xiaoshujiang的github仓库路径 while True: os.chdir("/home") if os.path.exists("xiaoshujiang"): #这里是旧的配置文件,存在先删除 os.system("rm -rf xiaoshujiang") #os.system("rm -rf "+hexoMd+"/*~") #删除hexoMd中备份的文件夹 while not os.path.exists(xiaoshujiangPath): #如果不存在就一直git clone os.system("git clone "+xiaoshujiang) os.system("rm -rf "+hexoMd+"/*") #删除原来的文章,以现有的为准,防止标题修改后出现文章重复 os.chdir(xiaoshujiangPath) os.system("rm -rf README.md") #删除不需要的README.md os.system("mv -bf * "+hexoMd) #移动到hexoMd os.chdir(hexo) os.system("hexo clean") #清除缓存 os.system("hexo g -d") #重新生成部署 ########################开始提交源代码################################ # os.system("git add -A") # os.system("git commit -am "+time.strftime('%Y-%m-%d',time.localtime(time.time()))) #提交说明改成当前日期 # os.system("git push source master:source") #提交到远程仓库的source分支 # time.sleep(180) #上一个任务执行完毕才会执行下一个,所以这句不需要 # os.system("hexo d") time.sleep(3600) #每小时执行一次让脚本在后台自动运行nohup python hexo.py &然后查看是否有这个进程ps -ef | grep hexo.py自动备份mysql:#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 16/10/30 下午9:04 import os import time user = 'root' #用户名 passwd = 'password' #密码 if not os.path.exists("/backup/sql"): os.mkdir("/backup/sql") while True: os.chdir("/backup/sql") #保存到/backup/sql文件夹下 #OVFile = 'ov-'+ str(time.time()) + '.sql' #已弃用 BlogFile = 'blog-'+ str(time.time()) + '.sql' #格式化blog数据库备份后的名称 os.system("mysqldump -u"+user+" -p"+passwd +" blog >"+BlogFile) #备份blog数据库 time.sleep(86400)说明默认一天备份一次,可以修改sleep的参数值,修改备份时间先修改密码然后vim databasedump.py填入密码nohup python databasedump.py &通过nohup运行程序后ps -ef | grep command kill -9 pid结束进程eg:ps -ef | grep databasedumo.py kill -9 pid以上,就用来举一反三吧。
2017年05月03日
2,633 阅读
0 评论
0 点赞
2017-04-21
Hexo搭建免费独立博客,托管到Github和Coding上
前言这是一篇很详细的独立博客搭建教程,意在帮助小白们能快速入门,拥有自己的独立博客。作者已在window平台已搭建成功,本博客就是用此方式。 为什么用Hexo搭建独立博客?Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。Github和Coding又是什么?Github是国外免费的Git代码托管平台。利用Github Page服务可以免费创建一个静态网站。Coding则是国内Git代码托管平台。国内首个Git代码托管平台GitCafe已被Coding收购。也提供page服务。为什么用两个代码托管平台?很多人都把hexo托管到github上,因为github大家都用的比较久了。但是,你的博客主要访问者肯定还是国内的用户,国内的用户访问coding比github是要快不少的。还可以利用域名解析实现国内的走coding,海外的走github,分流网站的访问。步骤安装GitGit是什么? Git是目前世界上最先进的分布式版本控制系统(没有之一)。 了解更多,参考git教程点击下载,然后按默认选项安装即可。 安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。安装Node.jswindows安装直接进入官网 打开Downloads再点击Windows Installer下载,默认安装就行Linux安装先去官网下载最新安装包wget https://npm.taobao.org/mirrors/node/v10.16.2/node-v10.16.2-linux-x64.tar.xz解压tar -xvf node-v10.16.2-linux-x64.tar.xz文件就被解压到当前文件夹下了 mv node-v10.16.2-linux-x64 /usr/local/node配置环境变量# 编辑 /etc/profile (使用vim) vim /etc/profile #在底部添加 PATH 变量 export PATH=$PATH:/usr/local/node/bin # 保存退出,先按esc键,再按`shift`+`:wq` # 最后保存并使其生效即可 source /etc/profile安装Hexo打开Git-bash,输入npm install -g hexo-cli即可完成Hexo的安装。npm安装时候卡住看这里安装插件(可选)npm install hexo-generator-index --save npm install hexo-generator-archive --save npm install hexo-generator-category --save npm install hexo-generator-tag --save npm install hexo-server --save npm install hexo-deployer-git --save npm install hexo-deployer-heroku --save npm install hexo-deployer-rsync --save npm install hexo-deployer-openshift --save npm install hexo-renderer-marked --save npm install hexo-renderer-stylus --save npm install hexo-generator-feed --save npm install hexo-generator-sitemap --save本地部署Hexo在电脑磁盘新建一个存放博客目录的文件夹,例如:blog进入到blog文件夹,点空白处右击鼠标,打开Git-Bash右击输入hexo init 然后 npm install,该文件夹有如下目录,就安装成功!├── _config.yml // 网站的配置信息,你可以在此配置大部分的参数。 ├── package.json ├── scaffolds // 模板文件夹。当你新建文章时,Hexo会根据scaffold来建立文件。 ├── source // 存放用户资源的地方 | ├── _drafts | └── _posts └── themes // 存放网站的主题。Hexo会根据主题来生成静态页面。输入hexo s 启动博客$ hexo s INFO Start processingINFO Hexo is running at http://localhost:4000/. Press Ctrl+C to stop.打开浏览器输入 http://localhost:4000/ 即可访问将博客托管到Github和Coding上托管到github注册github帐号 访问官网注册,你的username和邮箱十分重要,GitHub上很多通知都是通过邮箱的。比如你的主页上传并构建成功会通过邮箱通知,更重要的是,如果构建失败的话也会在邮件中说明原因。创建项目仓库 注册并登陆Github官网成功后,点击页面右上角的+,选择New repository。 在Repository name中填写Github账号名.github.io 点击Create repository,完成创建。托管到coding注册coding帐号 访问官网注册并登录创建仓库 点+创建项目填写项目名称描述创建即可,配置SSH配置ssh key是让本地git项目与远程的github建立联系检查是否已经有SSH Key,打开Git Bash,输入cd ~/.ssh11如果没有.ssh这个目录,则生成一个新的SSH,输入ssh-keygen -t rsa -C "your e-mail"注意1: 此处的邮箱地址,你可以输入自己的邮箱地址;注意2: 此处的「-C」的是大写的「C」接下来几步都直接按回车键,然后系统会要你输入密码Enter passphrase (empty for no passphrase):<输入加密串>Enter same passphrase again:<再次输入加密串>这个密码会在你提交项目时使用,如果为空的话提交项目时则不用输入。这个设置是防止别人往你的项目里提交内容。 注意:输入密码的时候没有*字样的,你直接输入就可以了。最后看到这样的界面,就成功设置ssh key了添加 SSH Key 到 GitHub和Coding打开Git Bash,然后输入cd ~/.ssh11进入到.shh文件夹中再输入ls,查看是否有id_rsa.pub文件再鼠标全选中右击复制再配置到GitHub和Coding的SSH中 进入Github官网,点击+旁边的头像,再按settings进入设置 在点击New SSH key创建 title输入邮箱,key里面粘贴刚才右击复制的内容,再点Add SSH key 同样进入coding,点击账户,在点SSH公钥设置即可测试SSH是否配置成功打开Git Bash,然后输入ssh -T git@github.com11如配置了密码则要输入密码,输完按回车 如果显示以下内容,则说明Github中的ssh配置成功。Hi username! You've successfully authenticated, but GitHub does notprovide shell access.再输入ssh -T git@git.coding.net如果显示以下则说明coding中的ssh配置成功Hello username You've connected to Coding.net by SSH successfully!创建Github Pages和Coding Pages 服务GitHub Pages分两种,一种是你的GitHub用户名建立的username.github.io这样的用户&组织页(站),另一种是依附项目的pages。想建立个人博客是用的第一种,形如cnfeat.github.io这样的可访问的站,每个用户名下面只能建立一个。更多官网点击代码再点击Coding Pages 服务开启。分支和github分支写一样,填写master将博客网站上传到GitHub和Coding中打开D:\blog文件夹中的_config.yml文件,找到如下位置,填写# Deployment ## Docs: https://hexo.io/docs/deployment.html deploy: type: git repo: github: git@github.com:yourname/yourname.github.io.git,master coding: git@git.coding.net:yourname/yourname.git,master注: (1) 其中yourname替换成你的Github账户名;(2)注意在yml文件中,:后面都是要带空格的。再更改一下_config.yml文件,其中的url和root属性。url: root: /blog\ root 下面应该设置成 /你的项目名 而不是/ 然后重新部署一下。在blog文件夹中空白处右击打开Git Bash输入hexo g #生成静态网页 npm install hexo-deployer-git --save hexo d #开始部署此时,通过访问http://yourname.github.io和http://yourname.coding.me可以看到默认的Hexo首页面(与之前本地测试时一样)。### 更换Hexo主题 我使用的是Next主题。该主题简洁易用,在移动端也表现不错。下载主题在blog文件夹中空白处右击打开Git Bash输入git clone https://github.com/xirong/hexo-theme-next.git themes/next或者建议使用使用国内的仓库git clone https://git.coding.net/tianyu211/next.git themes/next修改网站的主题为Next 打开D:\blog下的_config.yml文件,找到theme字段,将其修改为next# Extensions ## Plugins: http://hexo.io/plugins/ ## Themes: http://hexo.io/themes/ theme: next验证主题是否可用 输入hexo s #启动服务,调试用再在浏览器输入http://localhost:4000/确认网站主题是否切换为Next.博客blog根目录下的_config.yml配置网站信息 _config.yml配置请点参考Hexo博客nexT主题优化阅读全文按钮编辑主题配置_config.ymlauto_excerpt: enable: false length: 150(可自行设置) 把 enable 设置为true之后,每篇文章都会在第150个字符处截断搜索界面执行代码 npm install hexo-generator-search --save然后编辑hexo的_config.yml search: path: search.xml field: post相册界面执行hexo new page “photos”,然后在hexo/source文件夹下能够找到photos文件夹,进入文件夹,编辑index.md文件,添加字段:type: photos 然后编辑主题配置_config.yml,在menu选项中添加photos项:menu: home: / categories: /categories about: /about #archives: /archives tags: /tags #commonweal: /404.html photos: /photos进入hexo/themes/next/languanges文件夹,编辑zh-Hans.yml文件,在menu菜单里添加photos对应的中文名称,修改如下:menu: home: 首页 archives: 归档 categories: 分类 tags: 标签 about: 关于 search: 搜索 commonweal: 公益404 photos: 相册然后为相册页在菜单下的链接添加图标,在Fontawesome中找到自己喜欢的图标,记录名称,在编辑主题配置config.yml,在menu_icons字段中增加一行photos: :menu_icons: enable: true #KeyMapsToMenuItemKey: NameOfTheIconFromFontAwesome home: home about: user categories: th tags: tags archives: archive commonweal: heartbeat photos: photo然后在hexo/source/photos/index.md中,增加代码:{% raw %} <style> .photo img{ border: 1px solid #999; height:180px; width: 180px; } .photo li{ margin: 10px; float: left; list-style: none; } </style> <div class="photo"> {% endraw %} *  *  {% raw %} </div> {% endraw %}把其中的URL换成要展示的图片的地址,本地或者外链都可以。重新编译,生成。文章添加阅读次数关于Hexo的文章阅读量设置问题,大多数人都是使用不蒜子的代码实现。但是这个方法仅局限于在文章页面显示阅读数,首页是不显示的。所以我推荐使用leanCloud管理阅读量数据。在Hexo 5.0版本以后,已经自带可以直接开启文章阅读量统计:进入leanCloud官网注册个账号,可以不用手机号,只用邮箱激活,然后点击头像进入控制台创建一个应用,命名为Counter点击应用右上角的齿轮,进入应用设置界面,点击存储创建一个Class命名为Counter,设置权限为无限制创建完毕后点击应用的设置,找到应用Key,复制下来App ID和App Key打开next根目录下的_config.yml配置文件找到leancloud_visitors字段,把你上一步的AppID和AppKey粘贴过来,看起来大概像这样:leancloud_visitors: enable: true app_id: 40LJ62BsvIsNX0gRT8Lf0cuR-gzGzoHsz app_key: SJ7F5qRaBjcYv8yHhex3pHcv重新编译部署hexo clean、hexo g -d添加Fork me on Github去网址https://github.com/blog/273-github-ribbons 挑选自己喜欢的样式,并复制代码,添加到themes\next\layout_layout.swig的body标签之内即可记得把里面的url换成自己的!底部powered by的版权修改用Next主题搭建起来的博客,在底部会有这样的Powered by版权声明修改方法首先,找到 \themes\next\layout\_partials\下面的footer.swig文件,打开:图中每个框都是一个模块,随便你想修改还是删除,都可以除了这里,还有\themes\next\languages\这个文件夹中,根据你的语言选择对应文件,我是中文zh-Hans.yml,可以看到如下图:上文中的footer.theme等等就是调用这里的值,要修改或者删除,就看你心情了修改后的样式绑定自己的域名域名解析如果你选择的是万网注册的域名,可以使用其自带的域名解析服务。 也可以选择免费的DNSPod 打开blog文件夹下的source文件夹,新建CNAME文件不需要后缀,内容填写自己的域名 CNAME文件设置的目的是,通过访问 yourname.github.io 可以跳转到你所注册的域名上。 coding是直接在项目主页设置的,打开就可以看到。设置好之后去dns服务提供商那里添加CNAME解析。END去访问你的博客吧
2017年04月21日
1,081 阅读
1 评论
0 点赞
2017-04-11
Linux压缩解压命令
01-.tar格式 解包:[*******]$ tar xvf FileName.tar 打包:[*******]$ tar cvf FileName.tar DirName(注:tar是打包,不是压缩!) 02-.gz格式 解压1:[*******]$ gunzip FileName.gz 解压2:[*******]$ gzip -d FileName.gz 压 缩:[*******]$ gzip FileName 03-.tar.gz格式 解压:[*******]$ tar zxvf FileName.tar.gz 压缩:[*******]$ tar zcvf FileName.tar.gz DirName 04-.bz2格式 解压1:[*******]$ bzip2 -d FileName.bz2 解压2:[*******]$ bunzip2 FileName.bz2 压 缩: [*******]$ bzip2 -z FileName 05-.tar.bz2格式 解压:[*******]$ tar jxvf FileName.tar.bz2 压缩:[*******]$ tar jcvf FileName.tar.bz2 DirName 06-.bz格式 解压1:[*******]$ bzip2 -d FileName.bz 解压2:[*******]$ bunzip2 FileName.bz 07-.tar.bz格式 解压:[*******]$ tar jxvf FileName.tar.bz 08-.Z格式 解压:[*******]$ uncompress FileName.Z 压缩:[*******]$ compress FileName 09-.tar.Z格式 解压:[*******]$ tar Zxvf FileName.tar.Z 压缩:[*******]$ tar Zcvf FileName.tar.Z DirName 10-.tgz格式 解压:[*******]$ tar zxvf FileName.tgz 11-.tar.tgz格式 解压:[*******]$ tar zxvf FileName.tar.tgz 压缩:[*******]$ tar zcvf FileName.tar.tgz FileName 12-.zip格式 解压:[*******]$ unzip FileName.zip 压缩:[*******]$ zip FileName.zip DirName 13-.lha格式 解压:[*******]$ lha -e FileName.lha 压缩:[*******]$ lha -a FileName.lha FileName 14-.rar格式 解压:[*******]$ rar a FileName.rar 压缩:[*******]$ rar e FileName.rar
2017年04月11日
1,849 阅读
0 评论
0 点赞
2017-04-10
php中一个完整表单处理示例代码
使用<form>创建表单<form name="string" method="POST" action="URL" target="target_window"></form>其中name属性指定表单的名称,以便在服务器中引用该表单。method指定将表单传到服务器的方法,取值为post或者get,post表示在HTTP请求中嵌入表单变量,get表示将变量附加到请求改页的URL后面。action指定要接收表单变量的网页的URL,默认为当前页面。target指定用来显示表单处理结果的目标窗口或框架名称。一个完整表单处理比如新建一个t1.php代码如下: <!-- HTML中的form表单使用的是POST方法传递数据, 所以用户提交的数据会保存到$_POST或$_REQUEST的超级全局数组中, 所以根据$_POST数组中的值就可以处理提交的数据。 --> <form action="t5.php" method="post"> <table width="542" border="0"> <tr> <td width="26%">姓名:</td> <td width="74%"><input type="text" name="username" id="username"/></td> </tr> <tr> <td width="26%">密码:</td> <td width="74%"><input type="text" name="password" id="password"/></td> </tr> <tr> <td>年龄:</td> <td> <select name="age"> <option value="<16">小于16</option> <option value="16-30">16-30</option> <option value="31-50">31-50</option> <option value="51-80">51-80</option> </select> </td> </tr> <tr> <td valign="top">自我介绍:</td> <td><textarea name="intro" rows="3" cols="50" id="intro">请输入您的自我介绍</textarea></td> </tr> <tr> <td>体育爱好:</td> <td> <input type="radio" name="fave_sport" value="tennis" checked>网球 <input type="radio" name="fave_sport" value="football">足球 <input type="radio" name="fave_sport" value="baseball">篮球 <input type="radio" name="fave_sport" value="polo">保龄球 </td> </tr> <tr> <td>开发语言:</td> <td> <input type="hidden" name="from" id="from" value="注册表单"> <input type="checkbox" name="languages[]" value="php" checked id="languages[]">php <input type="checkbox" name="languages[]" value="java" id="languages[]">java <input type="checkbox" name="languages[]" value="android" id="languages[]">android <input type="checkbox" name="languages[]" value="c++" id="languages[]">c++ </td> </tr> <tr> <td valign="top"><label>开发工具:</label></td> <td> <select name="develop_ide[]" size="5" multiple id="develop_ide[]"> <option value="ZDE" selected>Zend Studio</option> <option value="Eclipse">Eclipse</option> <option value="Sublime">Sublime</option> <option value="Other">Other</option> </select> </td> </tr> <tr> <td valign="top"></td> <td><input type="submit" name="btn_submit" value="提交"></td> </tr> </table> </form>该表单包括了常用表单元素:单行文本框、多行文本框、单选项(radio)、多选项(checkbox),以及多选菜单。下面进行详细的说明。 maxlength是与密码文本框关联的属性,它限制用户输入密码的最大长度为10个字符。 age列表框是列表菜单,它的命名属性下都有自己的值供选择。selected是一个特定的属性选择元素,如果某个option附加有该属性,在显示时就把该项列为第一项显示。 intro文本框中的内容,按照rows和cols显示文字、行和列宽。 fave_sport是一组单选按钮(radio),我们要按组命名元素名称,比如这一组单选按钮都叫做fave_sport,用户只可选择一个,发送脚本端也只存在一个值。 和单选项一样,所有多选项成员也须有同名的属性,而属性名称需要添加括号[],这样就把多选项的值以数组形式发送给PHP,languages就是这种形式。 checked标签是指单选项和多选项中的某个值,默认已经被选择。 因为上面HTML中的form表单使用的是POST方法传递数据,所以用户提交的数据会保存到$_POST或$_REQUEST的超级全局数组中,我们根据$_POST数组中的值就可以处理提交的数据。 将上面表单中数据提交到t2.php脚本,该脚本的处理逻辑如下: 新建一个t2.php <?php if(isset($_POST["btn_submit"])) { if(empty($_POST["username"])){ echo "您没有输入用户名"; exit(0); } if(empty($_POST['password'])){ echo "您没有输入密码"; exit(0); } echo "您的用户名:".$_POST['username'].""; echo "您的密码(明文):".$_POST['password'].""; echo "您的年龄:".$_POST['age'].""; if(!empty($_POST['languages'])){ echo "您选择的语言为:"; //处理用户选择兴趣的checkbox按钮产生的数组 foreach ($_POST['languages'] as $lang) { echo $lang.""; } }else{ echo "您没有输入任何兴趣爱好"; } if(!empty($_POST['develop_ide'])){ echo "您使用的开发工具为:"; //处理用户多选开发工具菜单产生的数组 foreach ($_POST['develop_ide'] as $ide) { echo $ide.""; } }else{ echo "您没有选择开发工具"; } echo "您的自我介绍:".nl2br($_POST['intro'])."<br />";//nl2br(),在字符串中的每个新行 (\n) 之前插入 HTML 换行符 (<br />) echo "网页隐藏值(通过hidden标签值传递):".$_POST['from'].""; } ?>符号 -> 用于访问类成员(包括类属性和类方法), => 用于key=>value结构(数组)中指对.(可以理解为赋值)显示弹出对话框
2017年04月10日
1,950 阅读
0 评论
0 点赞
2017-04-04
Centos搭建FTP
在CentOS下,搭建FTP服务器是使用vsftpd软件。1.安装VSFTPD先用XShell或者是别的SSH工具远程连接到服务器,用root用户登陆服务器。然后键入以下命令以安装VSFTPDyum install vsftpd ftp依旧会在检查依赖项目后要求用户确认,按y并回车即可。当提示“完成!”后即代表VSFTPD安装完毕。然后我们需要将vsftpd启动并设置成开机自启动:启动vsftpd:systemctl start vsftpd.service设置vsftpd开机自启动:systemctl enable vsftpd.service2.配置VSFTPD完成第一步之后其实已经启动了ftp服务器,但我们并用不了,因为我们还没有对vsftpd进行一些必要的设置。vsftpd的配置文件是/etc/vsftpd/vsftpd.conf,直接用vim打开编辑即可。使用vim编辑器打开vsftpd配置文件:vim /etc/vsftpd/vsftpd.confVSFTPD配置文件一些修改地方anonymous_enable=YES是否允许匿名用户登陆FTP。为了安全起见关闭这个功能(将等号后的YES改成NO即可)。dirmessage_enable=YES切换目录时,显示目录下.message文件中的内容默认是开启的local_umask=022FTP上本地的文件权限,默认是077,不过vsftpd安装后的配置文件里默认是022.没有什么特殊情况不用修改。xferlog_enable=YES启用上传和下载的日志功能,默认开启。建议开启此功能,它可以对用户的操作进行日志记录,当出现问题的时候可以通过日志排查问题。ftpd_banner=XXXXFTP的欢迎信息。在FTP登陆成功之后,服务器会往客户端发送一个欢迎消息以表示登陆成功。这是一个个性化的功能,您可以自由的设置其值,也可以在配置最前加上#注释本行。data_connection_timeout=120数据连接超时时间。如果在使用vsftpd上传下载碎小文件的时候容易发生超时中断的问题,可以将本行前的#注释符去掉,然后将120改成5或者更小,然后重启vsftpd即可。重启vsftpd服务:systemctl restart vsftpd.service一般国内都是ipv4,所以需要把ipv6监听关闭,把ipv4监听打开,否则可能常常出现打不开的现象listen = YESlisten_ipv6 = NO如果连接还是很慢的话,可以添加这个禁用域名反向解析reverse_lookup_enable=NO //解决登陆验证缓慢问题vsftpd详细配置文件## 3.创建FTP用户 修改完vsftpd的配置文件之后我们还是不能使用vsftpd,因为我们还没有设置ftp的用户。添加一个名为ftpuser的用户,用户文件夹位置为:/home/wwwroot/html,且禁止此用户登陆服务器:useradd -d /home/wwwroot/html -s /sbin/nologin ftpuser然后设置一下密码,为ftpuser设置密码:passwd ftpuser这时候系统会要求您输入新的密码并且重复一遍。不出错的话这一步就完成了## 4.调整防火墙经过第三步创建用户之后,有小部分的同学可能已经可以登陆了。但是绝大部分的同学会连接ftp失败,提示连接失败 (连接已超时)失败的原因很简单,不知大伙有没有想起来之前的博文中我教大家关闭了系统自带的firewall防火墙,换上了新的iptables防火墙?就是iptables防火墙将我们的连接请求阻断了。如果你个人怕麻烦,而且也觉得防火墙没什么用,那你可以将iptables防火墙关闭,关闭防火墙之后就可以正常使用了。不过因为这么一点小事儿就关闭防火墙未免显得有点水,而且防火墙摆在那里总归是有用的。那么有什么办法既保留防火墙,又能让iptables不把我们的ftp连接请求阻断呢?当然有,我们需要调整一下iptables的配置文件,使ftp协议的端口可以通过防火墙。FTP主动模式使用Vim编辑器打开iptables配置文件:vim /etc/sysconfig/iptables然后在配置文件中加入这么一句:-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT这句话告诉iptables开放21端口,允许接受从21端口传入的连接。然后重启iptables服务:systemctl restart iptables.service现在就可以使用ftp工具登陆ftp服务器了!FTP被动模式如果ftp处于被动模式下,除了需要修改iptables的配置文件以外,还需要修改vsftpd的配置文件。首先是修改vsftpd的配置文件:使用Vim编辑器打开vsftpd配置文件:vim /etc/vsftpd/vsftpd.conf现在配置文件中找到connect_from_port_20=YES并将它修改为connect_from_port_20=NO,关闭掉vsftpd的主动模式。然后在配置文件的末尾追加:使vsftpd运行在被动模式pasv_enable=YES被动模式最小端口号30000pasv_min_port=30000被动模式最大端口号31000pasv_max_port=31000保存配置文件并退出。然后重启vsftpd服务:systemctl restart vsftpd.service然后再使用Vim编辑器打开iptables配置文件:vim /etc/sysconfig/iptables添加:开放ftp协议21端口,允许接受来自21端口的新建TCP连接-A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT开放30000-31000号端口,允许接受来自此端口号段的新建TCP连接-A INPUT -p tcp --dport 30000:31000 -j ACCEPT保存并退出,然后重启iptables服务:systemctl restart iptables.service5.调整文件夹权限可能现在又有个问题冒出来了,使用ftp工具登陆服务器之后,不管创建什么,都会失败。这个问题主要出现在无论上传什么文件都显示553 Could not create file.进入/home/wwwroot,然后把权限改了,比如:chmod -R 777 /home/wwwroot/html然后就差不多正常了。讲道理,ubuntu也是同理,修改配置文件,安装什么鬼的,等我有空再把ubuntu也测试一下。## 修改FTP用户目录 FTP服务器的默认目录是/var/ftp,而且当用户以匿名方式登录的时候,访问就是此目录。如果用户以其它的用户名登录的话,访问的则是那个用户名的工作目录。如果想要更改非匿名用户的默认FTP目录,可以采用如下方式进行更改:进入/etc目录,打开passwd文件转到想要更改的那个用户的行,编辑其工作目录为想要的目录即可一般采用此种方式带来的一个影响就是,shell的提示符不会再显示目录信息,如果想要变回原来的样子,可以采用如下简便的方法:把那个用户原来的工作目录下的所有与shell配置相关的文件复制到更改后的目录。
2017年04月04日
1,962 阅读
0 评论
0 点赞
2017-04-03
Centos7安装的注意事项
准备一个8G左右的u盘;在http://www.centoscn.com/CentosSoft/iso/2014/0708/3266.html 下载一个系统,我用的是CentOS-7.0-1406-x86_64-DVD.iso;下载一个CentOS7.0 U盘刻录工具; http://rj.baidu.com/soft/detail/11522.html使用CentOS7.0 U盘刻录工具,将下载好的系统,刻录进u盘;然后,为了保险起见,可以将CentOS-7.0-1406-x86_64-DVD.iso这个文件也一并备份到U盘的根目录;U盘最好大于4G;进入服务器的bios设置界面,设置为usb启动;将刻录好的u盘,插入服务器,重启系统;当出现以下界面的时候,按Tab,CentOS 7 Install CentOS7 Test this media & install CentOS 7 Troubleshooting Press Tab for full configuration options on menu items.8、如果你是用UltraISO刻录的话可能这时候,会有vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 rd.live.check quiet文字出现在屏幕下方,将这行文字修改为vmlinuz initrd=initrd.img inst.stage2=hd:/dev/sdc4 quiet注意,每台电脑的usb的device的名称都不一样,我的是在/dev/sdc4。如果你不确定你的usb的device名,你可以将文字改为vmlinuz initrd=initrd.img linux dd quiet回车后,屏幕会出现让你选择的的界面,你可以一个个去试试。接着,你就可以顺利的安装了。
2017年04月03日
2,185 阅读
0 评论
0 点赞
1
...
5
6
7