Maison >développement back-end >tutoriel php >[PHP]利用XAMPP搭建本地服务器, 然后利用iOS客户端上传数据到本地服务器中(三. PHP端代码实现),xamppios_PHP教程
一.安装XAMPP http://www.cnblogs.com/lidongxu/p/5256330.html
二. 配置MySql http://www.cnblogs.com/lidongxu/p/5256515.html
然后呢, 今天我们就来接触下PHP开发语言
1. 首先呢, 需要在我们本机服务器文件夹资源下新建个.php文件, 废话嘛(你要写php啦!)
2. 在register.php 输入以下代码
<?<span>php </span><span>//</span><span> 1. 获取客户端利用post方式网络请求的body里的字段对应的value (这个字段 // 是这里规定的, 前端必须遵守这个name2, pass2等key值)</span> <span>$nameP</span> = <span>$_POST</span>['name2'<span>]; </span><span>$passP</span> = <span>$_POST</span>['pass2'<span>]; </span><span>$ageP</span> = <span>$_POST</span>['age2'<span>]; </span><span>$telephoneP</span> = <span>$_POST</span>['telephone2'<span>]; </span><span>//</span><span> 2. 建立数据库连接 (127.0.0.1 数据库所在的ip地址) // root 是数据库用户名(默认的) // "" 密码(默认是空)</span> <span>$con</span> = <span>mysql_connect</span>("127.0.0.1", "root", ""<span>); </span><span>$myCon</span> = <span>mysql_select_db</span>("lidongxu", <span>$con</span><span>); </span><span>//</span><span> 3. 先查询, 如果存在就不要在插入了</span> <span>$select</span> = "select userName from User where userName = '<span>$nameP</span>'"<span>; </span><span>$seleResult</span> = <span>mysql_query</span>(<span>$select</span><span>); </span><span>//</span><span> 4. 如果查到了, 说明已经存在这个用户了, 则返回-1给客户端代表已经注册过了</span> <span>if</span> (<span>mysql_num_rows</span>(<span>$seleResult</span><span>)) { </span><span>//</span><span> success 就是key值 对应的value 就是后面的字符串</span> <span>$a</span> = <span>array</span><span>(); </span><span>$a</span>['success'] = "-1"<span>; </span><span>$a</span>['status'] = "have"<span>; </span><span>$arr</span> = json_encode(<span>$a</span><span>); </span><span>echo</span> <span>$arr</span><span>; } </span><span>//</span><span> 5. 如果没注册过, 那么</span> <span>else</span><span> { </span><span>//</span><span> 6. 把数据都插入到mysql数据库中</span> <span>$sql</span> = "insert into User values('<span>$nameP</span>', '<span>$passP</span>', '<span>$ageP</span>', '<span>$telephoneP</span>')"<span>; </span><span>$result</span> = <span>mysql_query</span>(<span>$sql</span><span>); </span><span>if</span> (<span>$result</span> == 1) { <span>//</span><span> 7. 代表执行成功</span> <span>$a</span> = <span>array</span><span>(); </span><span>$a</span>['success'] = "1"<span>; </span><span>$a</span>['status'] = "ok"<span>; </span><span>$arr</span> = json_encode(<span>$a</span><span>); </span><span>echo</span> <span>$arr</span><span>; } </span><span>else</span> { <span>//</span><span> 8. 代表插入失败</span> <span>$a</span> = <span>array</span><span>(); </span><span>$a</span>['success'] = "0"<span>; </span><span>$a</span>['status'] = "no"<span>; </span><span>$arr</span> = json_encode(<span>$a</span><span>); </span><span>echo</span> <span>$arr</span><span>; } } </span><span>//</span><span> 9. 接收用户头像图片 // 9.1. 接收图片传到服务器上默认的临时文件路径以及名字 (uploadfile 给前台使用的 // 字段)</span> <span>$url</span> = <span>$_FILES</span>["uploadimageFile"]["tmp_name"<span>]; </span><span>//</span><span> 9.2 获取根路径下的downloads文件夹下的路径(download2 需要手动 // 去本地创建)</span> <span>$destination_folder</span> = <span>$_SERVER</span>['DOCUMENT_ROOT'].'/download2/'<span>; </span><span>//</span><span> 9.3拼接要作为服务器上保存的文件名字</span> <span>$newfname</span> = <span>$destination_folder</span> .(<span>string</span>)<span>$nameP</span>.'.jpg'; <span>//</span><span>set your file ext // 打开连接 rb+ 读写打开一个二进制文件,允许读写数据,文件必须存在。 // 获取客户端上传到缓存文件夹下的文件</span> <span>$file</span> = <span>fopen</span> (<span>$url</span>, "rb"<span>); </span><span>if</span> (<span>$file</span><span>) { </span><span>//</span><span> a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。 // 获取要把客户端传递过来的文件复制到新的文件夹下的名字</span> <span>$newf</span> = <span>fopen</span> (<span>$newfname</span>, "a"<span>); </span><span>if</span> (<span>$newf</span><span>) </span><span>//</span><span> 检查文件是否结束,如结束,则返回非零值</span> <span>while</span>(!<span>feof</span>(<span>$file</span><span>)) { </span><span>//</span><span> 开始从某个文件读取1MB 然后写入到新的路径1MB</span> <span>fwrite</span>(<span>$newf</span>, <span>fread</span>(<span>$file</span>, 1024 * 8 ), 1024 * 8<span> ); } } </span><span>if</span> (<span>$file</span><span>) { </span><span>//</span><span> 关闭文件链接</span> <span>fclose</span>(<span>$file</span><span>); } </span><span>if</span> (<span>$newf</span><span>) { </span><span>fclose</span>(<span>$newf</span><span>); } </span>?>
3. 然后在本地服务器文件夹下新建download2文件夹
4. 然后再把登录的php代码也写了吧!在htdocs文件夹下, 新建loginGet.php文件 然后插入代码
<?<span>php </span><span>//</span><span> 1. 获取GET网络请求网址里的key值对应的value // 声明变量name1 和pass1 接收</span> <span>$name1</span> = <span>$_GET</span>['name'<span>]; </span><span>$pass1</span> = <span>$_GET</span>['pass'<span>]; </span><span>//</span><span> 2. 建立数据库连接 // 参数1: 数据库所在的服务器的地址(本机127.0.0.1或者localhost) // 参数2: MySql数据库的账户(默认root) // 参数3: MySql数据库的密码(默认无)</span> <span>$con</span> = <span>mysql_connect</span>("127.0.0.1", "root", ""<span>); </span><span>//</span><span> 参数1: 自己建立的数据库的名字</span> <span>$myCon</span> = <span>mysql_select_db</span>("lidongxu", <span>$con</span><span>); </span><span>//</span><span> 3. 执行查询 (利用用户名和密码进行匹配查找, 如果找到了随意返回userName(用户名))</span> <span>$sql</span> = "select * from User where userName = '<span>$name1</span>' And password = '<span>$pass1</span>'"<span>; </span><span>//</span><span> 4. 接收结果</span> <span>$result</span> = <span>mysql_query</span>(<span>$sql</span><span>); </span><span>//</span><span> 4.2 如果查询结果为空的话</span> <span>if</span>(<span>mysql_num_rows</span>(<span>$result</span>) == 0<span>) { </span><span>$a</span> = <span>array</span><span>(); </span><span>$a</span>['success'] = "0"<span>; </span><span>$a</span>['name'] = "null"<span>; </span><span>$a</span>['status'] = "no"<span>; </span><span>$arr</span> = json_encode(<span>$a</span><span>); </span><span>echo</span> <span>$arr</span><span>; } </span><span>else</span><span> { </span><span>//</span><span> 5. 取出本条记录</span> <span>$row</span> = <span>mysql_fetch_row</span>(<span>$result</span><span>); </span><span>$a</span> = <span>array</span><span>(); </span><span>$a</span>['success'] = "1"<span>; </span><span>$a</span>['name'] = <span>$row</span>[0<span>]; </span><span>$a</span>['age'] = <span>$row</span>[2<span>]; </span><span>$a</span>['telephone'] = <span>$row</span>[3<span>]; </span><span>$a</span>['status'] = "ok"<span>; </span><span>$arr</span> = json_encode(<span>$a</span><span>); </span><span>echo</span> <span>$arr</span><span>; } </span>?>
到此, php暂时告一段路, 然后进行iOS段代码开发(开心不???)
来写iOS 代码吧........... http://www.cnblogs.com/lidongxu/p/5267753.html