【PHP】XAMPPを使用してローカルサーバーを構築し、iOSクライアントを使用してローカルサーバーにデータをアップロードします(3. PHP側のコード実装)

WBOY
リリース: 2016-06-23 13:14:26
オリジナル
1081 人が閲覧しました

1. XAMPP をインストールします

2. MySql を設定します

次に、今日は PHP 開発言語を説明します

1. まず、ローカル サーバー フォルダーのリソースに新しい .php ファイルを作成する必要があります。 (php を記述する必要があります!)

2. register.php に次のコードを入力します

<?php // 1. 获取客户端利用post方式网络请求的body里的字段对应的value (这个字段// 是这里规定的, 前端必须遵守这个name2, pass2等key值)$nameP = $_POST['name2'];$passP = $_POST['pass2'];$ageP = $_POST['age2'];$telephoneP = $_POST['telephone2'];// 2. 建立数据库连接 (127.0.0.1 数据库所在的ip地址)// root 是数据库用户名(默认的)// "" 密码(默认是空)$con = mysql_connect("127.0.0.1", "root", "");$myCon = mysql_select_db("lidongxu", $con);// 3. 先查询, 如果存在就不要在插入了$select = "select userName from User where userName = '$nameP'";$seleResult = mysql_query($select);// 4. 如果查到了, 说明已经存在这个用户了, 则返回-1给客户端代表已经注册过了if (mysql_num_rows($seleResult)) {// success 就是key值 对应的value 就是后面的字符串    $a = array();    $a['success'] = "-1";    $a['status'] = "have";    $arr = json_encode($a);    echo $arr;}// 5. 如果没注册过, 那么else {// 6. 把数据都插入到mysql数据库中    $sql = "insert into User values('$nameP', '$passP', '$ageP', '$telephoneP')";    $result = mysql_query($sql);    if ($result == 1) { // 7. 代表执行成功        $a = array();        $a['success'] = "1";        $a['status'] = "ok";        $arr = json_encode($a);        echo $arr;    }    else { // 8. 代表插入失败        $a = array();        $a['success'] = "0";        $a['status'] = "no";        $arr = json_encode($a);        echo $arr;    }}// 9. 接收用户头像图片// 9.1. 接收图片传到服务器上默认的临时文件路径以及名字 (uploadfile 给前台使用的// 字段)$url = $_FILES["uploadimageFile"]["tmp_name"];// 9.2 获取根路径下的downloads文件夹下的路径(download2 需要手动// 去本地创建)$destination_folder = $_SERVER['DOCUMENT_ROOT'].'/download2/';    // 9.3拼接要作为服务器上保存的文件名字    $newfname = $destination_folder .(string)$nameP.'.jpg'; //set your file ext// 打开连接  rb+ 读写打开一个二进制文件,允许读写数据,文件必须存在。// 获取客户端上传到缓存文件夹下的文件    $file = fopen ($url, "rb");    if ($file) {        // a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。      // 获取要把客户端传递过来的文件复制到新的文件夹下的名字      $newf = fopen ($newfname, "a");       if ($newf)          // 检查文件是否结束,如结束,则返回非零值      while(!feof($file)) {          // 开始从某个文件读取1MB 然后写入到新的路径1MB        fwrite($newf, fread($file, 1024 * 8 ), 1024 * 8 );      }    }    if ($file) {        // 关闭文件链接      fclose($file);    }    if ($newf) {      fclose($newf);    } ?>
ログイン後にコピー

3. 次に、ローカル サーバー フォルダーの下に新しい download2 フォルダーを作成します

4. 次に、ログインを追加します。 htdocs フォルダーに、loginGet.php ファイルを新規作成してコードを挿入します

<?php // 1. 获取GET网络请求网址里的key值对应的value// 声明变量name1 和pass1 接收$name1 = $_GET['name'];$pass1 = $_GET['pass'];// 2. 建立数据库连接// 参数1: 数据库所在的服务器的地址(本机127.0.0.1或者localhost)// 参数2: MySql数据库的账户(默认root)// 参数3: MySql数据库的密码(默认无)$con = mysql_connect("127.0.0.1", "root", "");// 参数1: 自己建立的数据库的名字$myCon = mysql_select_db("lidongxu", $con);// 3. 执行查询 (利用用户名和密码进行匹配查找, 如果找到了随意返回userName(用户名))$sql = "select * from User where userName = '$name1' And password = '$pass1'";// 4. 接收结果$result = mysql_query($sql);// 4.2 如果查询结果为空的话if(mysql_num_rows($result) == 0) {        $a = array();        $a['success'] = "0";        $a['name'] = "null";        $a['status'] = "no";        $arr = json_encode($a);        echo $arr;        }else {// 5. 取出本条记录$row = mysql_fetch_row($result);                $a = array();        $a['success'] = "1";        $a['name'] = $row[0];        $a['age'] = $row[2];        $a['telephone'] = $row[3];        $a['status'] = "ok";        $arr = json_encode($a);        echo $arr;    } ?>
ログイン後にコピー

ここで、php はひとまず終了です。その後、iOS を開発します。コード (不満?)

iOS コードを書いてみましょう...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート