- ベストアンサー
SwiftとPHPの連携方法について教えてください
- SwiftとPHPの連携方法について詳しく教えてください。具体的には、Objective-CからPHPファイルに同期通信する方法、PHPファイルで配列を生成し、それをSwiftの配列に取り込む方法について教えてください。
- 質問者はSwiftとPHPの初心者で、同期通信や配列の取り込みについて詳しく知りたいとしています。質問文章には、SwiftでURLリクエストを作り、同期通信を行い、レスポンスデータを処理する部分が記述されていますが、それ以降の処理についても具体的な説明を求めています。
- また、質問者はPHP側でディレクトリの存在を確認し、ファイルのみを取得し、そのパスを配列に追加するコードを作成しているようです。どのようにSwiftの配列に取り込むことができるのか、詳しく教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (3)
- Lchan0211b
- ベストアンサー率61% (573/930)
- Lchan0211b
- ベストアンサー率61% (573/930)
- Lchan0211b
- ベストアンサー率61% (573/930)
関連するQ&A
- Swiftについて教えてください
下記のようにようにサーバにある画像を読み込んでいます。imgフォルダに中にある1.pngを読み込み、配列imageArrayに代入することができたのですが、imgフォルダの中の画像( 1.png~20.png)を全て読み込み配列に入れたいのですが、やり方が分かりません。よろしくお願いします。 // URLリクエストを作る let url = NSURL(string:"http://xxxxxxxxxxxxxxxx/img/1.png") let request = NSURLRequest(URL : url!) var error: NSError? // 同期通信を開始 if let resData:NSData = NSURLConnection.sendSynchronousRequest(request, returningResponse: nil, error: &error){ let image = UIImage(data:resData) self.imageArray.append(image!) }
- ベストアンサー
- スマートフォンアプリ開発
- Swiftについて教えてください
下記のようにようにサーバにある画像を読み込んでいます。サーバのimgフォルダの中の画像( 1.png~20.png)を全て読み込み配列に入れる方法を質問して、回答をいただき解決しました。(以下のコード)それを拡張してサーバのimgフォルダの中の画像の数が分かってないものを配列に読み込もうとしています。画像の数が分かってないものを全て読み込み配列に入れる方法が分からず困っています。よろしくお願いします。 // URLリクエストを作る for i in 1...20 { let url = NSURL(string:"http://xxxxxxxxxxxxxxxx/img/"+String(i)+".png") let request = NSURLRequest(URL : url!) var error: NSError? // 同期通信を開始 if let resData:NSData = NSURLConnection.sendSynchronousRequest(request, returningResponse: nil, error: &error){ let image = UIImage(data:resData) self.imageArray.append(image!) } }
- 締切済み
- Swift
- Swiftについて教えてください
カメラロールにある写真をUICollectionViewCellに読み込んで表示させ、その写真をタッチしたときに、その写真のURL(保存されているカメラロールまでのパス?)を取得し、配列に格納しようと考えています。 「ALassetslibrary url 取得」というキーワードなどで調べてみたのですが、Objective-Cで書かれたものやimagePickerControllerを使ったもがほとんどでで、よくわかりませんでした。 http://tryworks-design.com/?p=2282 http://tech.camph.net/%E3%80%90ios%E3%80%91iphone%E3%81%AE%E3%82%AB%E3%83%A1%E3%83%A9%E3%83%AD%E3%83%BC%E3%83%AB%E3%81%AB%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%99%E3%82%8Bassetslibrary%E3%81%AB%E3%81%A4%E3%81%84/ ライブラリ内でのURL [[asset defaultRepresentation] url] //AssetURL(NSURL*型) Swiftでの情報で http://qiita.com/BOPsemi/items/9a0338635647cd34c910 があったので、var library = ALAssetsLibrary()とし、 libraryのassetForURLというメソッドを使うのかなど調べてみたのですがよく分かりませんでした。 UICollectionViewCellに読み込んで表示させ、その写真をタッチしたときの func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) { } の中でどのような処理をすれば良いのでしょうか?教えてください。よろしくお願いします。
- ベストアンサー
- Swift
- 「複数のPHPファイルを上から順に15秒ごとに読み
「複数のPHPファイルを上から順に15秒ごとに読み込む」ようなPHPファイルが欲しいです。 それをcronで定期的に実行したいのですが、どうしてもエラーが出てしまい上手く動きません。 <?php ini_set('display_errors', 1); error_reporting(-1); set_time_limit(0); $list = [ 'http://xxx.com/file1.php', 'http://xxx.com/file2.php', 'http://xxx.com/file3.php', 'http://xxx.com/file4.php', 'http://xxx.com/file5.php', 'http://xxx.com/file6.php', 'http://xxx.com/file7.php', 'http://xxx.com/file8.php', 'http://xxx.com/file9.php', 'http://xxx.com/file10.php', ]; foreach ($list as $url) { $ch = curl_init(); curl_setopt_array($ch, [ CURLOPT_URL => $url, CURLOPT_RETURNTRANSFER => true, ]); sleep(15); curl_exec($ch); } ?> いちおう初心者ながらに書いてみたのですが、どこが悪いのかを教えてください。
- 締切済み
- PHP
- ファイルアップローダ+複数のディレクトリを削除するシステムについて
以下のようなフォルダ構成で、複数のディレクトリを削除するシステムを構築しよと しましたが、1ディレクトリのみしか削除できませんでした。 20090601 - xxx1.txt yyy1.txt zzz1.txt のフォルダ20090601と、ファイルxxx1.txt,yyy1.txt,zzz1.txt のみしか削除できませんでした。理想は、すべてのディレクトリ、ファイルを削除しようと、試行錯誤 しましたが、なかなかうまくいきません。 わかる人がいたら、ご教授のほどよろしくお願いします。 ============フォルダ構成==================================== 20090601 - xxx1.txt yyy1.txt zzz1.txt 20090602 - xxx2.txt yyy2.txt zzz2.txt 20090603 - xxx3.txt yyy3.txt zzz3.txt 20090604 - xxx4.txt yyy4.txt zzz4.txt $_WK_dir_name[1] = "20090601" $_WK_dir_name[2] = "20090602" $_WK_dir_name[3] = "20090603" $_WK_dir_name[4] = "20090604" ============プログラム====================================== // ファイルアップロード処理 (省略) // ディレクトリ数のカウント処理 (省略) // ディレクトリとディレクトリの中身を削除 for ($i = 1; $i < 4; $i++) { // 削除するディレクトリパスを設定 $_dir_path = './' . $_WK_dir_name[$i] . '/'; printf("★1"); // ディレクトリ・ハンドルをオープン $res_file = opendir( $_dir_path ); printf("★2"); // ディレクトリ内のファイル名を1つずつを取得 while( $file_name = readdir( $res_file ) ){ // ファイルかどうか判定する if (is_file($_dir_path . $file_name)) { unlink($_dir_path . $file_name); } } printf("★3"); closedir( $res_file ); printf("★4"); rewinddir( $res_file ); printf("★5"); // ディレクトリの中身が空になったところで、ディレクトリを削除する。 rmdir($_WK_dir_name[$i]); printf("★6"); } ============================================================
- ベストアンサー
- PHP
- テキストファイルの結合
はじめまして。配列とか変数でFORでループさせれ ばいいのかなと思うのですが変数の取り扱いがわ かりません。あるフォルダに拡張子なしの . の 後連番のテキストファイルがあります(SGML出力)。 その連番順にテキストを結合したファイルを作成 したい。 条件として"a086.xxx"のファイルについて処理し たいです。よろしくお願いします。 ファイル名 中身 a084.000 ............. a085.000 ............. a086.000 abc.......xxx a086.001 123.......xxx ・ ・ a086.036 xyz.......xxx a087.000 ............. 結合したファイルの中身 abc.......xxx 123.......xxx ・ ・ ・ xyz.......xxx フォルダの中のそのファイルの個数はその都度 違います。 下記のように処理したいファイル名は抽出して みたのですがその後どうすればいいのかわかり ません。また、ファイル名を抽出しないでその まま処理するものでしょうか。 opendir ( DIR , "a:\\S603000" ) or die; while($dir = readdir (DIR) ){ if ( $dir =~ /a086/ ){ print "$dir\n"; } } closedir ( DIR );
- ベストアンサー
- Perl
- PHPでディレクトリーとそのサブディレクトリー表示
PHPでディレクトリーとそのサブディレクトリーの中のファイルを表示して、ファイルであればダウンロード用のリンクを付け加えたいと思いますが、ここで嵌ってしまっています。 以下はソースコード(コメントアウトされている部分は試したコード、すべてだめだった) $dir = $_SERVER['DOCUMENT_ROOT'].'/projects/website/uploaded'.'/'.$_GET['user']; function getDirContents($dir) { global $basedir; $path=pathinfo($dir); $path1=$basedir.'/'.basename($dir); //echo $path1; //$path1=basename($dir); if (is_dir($dir)) { //$path1 .= basename($dir); //$path1 .='/'.basename($dir); $dirs = explode('/', $dir); $last_dir = $dirs[count($dirs) - 1]; echo '<strong>'.$last_dir.'</strong>'; if ($dh = opendir($dir)) { echo '<ul>'; while (($file = readdir($dh)) !== false) { if ($file == '.' || $file == '..' || substr($file,0,1)=='.') {} else { echo '<li>'; if (is_dir($dir.'/'.$file)) { $path1 .='/'.basename($file); getDirContents($dir.'/'.$file); } else { //echo $path1; $path2=pathinfo($path1); echo '<a href="'.$basedir.$path1.'/'.$file.'">'.$file.'</a>'; } echo '</li>'; } } echo '</ul>'; closedir($dh); } } return false; } getDirContents($dir); 因みにウェブサイトは、サーバーの/projects/website/にあります。表示したいフォルダはprojects/website/uploaded/にあります。そしてサブフォルだは/projects/website/uploaded/(ユーザ名)/(フォーム番号)/ わかる方がいらっしゃいましたら、ご回答を宜しくお願いいたします。
- ベストアンサー
- PHP
- URLの文字列からパラメータ部分を取得して配列にしたい
http://www.***.com/xxx.php?a=123&b=456&c=789 上記の文字列(ページURLではなく変数に格納されています)の?以降を$_GETと同じ構造の配列にしたいです。 &、=で分解してarray_combineを使おうとしたらできませんでした。 調べて見たらバージョンが違うため未実装でした。 $_GETと同じ構造の配列にするにはどのように記述すれば良いのでしょうか?
- ベストアンサー
- PHP
- ファイルのアップロードが出来ない
送信フォームを使って画像をアップロードさせたいのですが、うまくいきません。ブラウザ上でエラー表示は出ないのですが、移動させたいディレクトリにファイルが入って来ない状況です。 初心者なので、参考書を片手に例文をカスタマイズしていったので、アルゴリズム自体がどこか間違っているかもしれないです。 特に下記ソースコード中の 『$path = getcwd();~』 の辺りで、スクリプトのあるディレクトリパスを取得して、パスの末尾に"¥"or"/"を追加しているのは理解出来るのですが、 そもそも何のスクリプトのパスを取得しているのかが解らず、 結局テンポラリディレクトリからの移動先ディレクトリを自分で$new_dirと定義してmove_uploaded_file()しています。 どなたか詳しい方いらっしゃいましたらご教示宜しくお願いします! ===========ソースコード=============== <?php if (isset($_POST["submit"])) { //------------------------------------------------------------------------- //■クライアントから取得する元ファイル名を$pic_name、 //■テンポラリディレクトリ名を$pic_tmp //■テンポラリディレクトリからの移動先ディレクトリを$new_dir //------------------------------------------------------------------------- $pic_name = $_FILES["pic"]["name"]; $pic_tmp = $_FILES["pic"]["tmp_name"]; $new_dir = "http://xxx.com/pic/"; //---------------------------------------------------------------------------------- //■エラーメッセージは配列に追加 //---------------------------------------------------------------------------------- $error_message = array(); $path = getcwd(); if (isset($_ENV["OS"]) && preg_match("/window/i", $_ENV["OS"])) { $path .= "\\"; } else { $path .= "/"; } if (strlen($pic_name)>0 && strlen($pic_tmp)>0) { //---------------------------------------------------------------------------------- //■テンポラリディレクトリにファイルがアップされているかチェック //---------------------------------------------------------------------------------- if (is_uploaded_file($pic_tmp)) { //---------------------------------------------------------------------------------- //■ファイルを移動 //---------------------------------------------------------------------------------- if (!move_uploaded_file($pic_tmp, $new_dir .basename($pic_name))) { $error_message[] = "●自画像ファイルのアップロードに失敗しました"; } } } } ?> <html> <form method="post" action="<?=$SERVER["PHP_SELF"]?>" enctype="multipart/form-data" > 画像のアップロードフォーム <input type="hidden" name="MAX_FILE_SIZE" value="100000"> <input type="file" name="pic" size="40"> </html>
- ベストアンサー
- PHP
- 2次元配列の値の受け渡しについて教えてください
お世話になります。 phpで2次元配列の値の受け渡しについて教えてください。 A.phpファイルからB.phpファイルに2次元配列の値を渡したいと考えています。 出来ればPOSTで2次元配列を送りたいと考えていますが、そもそもPOSTで2次元配列を送ることはできるのでしょうか? たとえば [A.php] $DATA = array( array('name'=>"tanaka", 'age'=>"20"), array('name'=>"sasaki", 'age'=>"30"), ); をB.phpファイルに送るにはどうすれば良いのでしょうか? どなたか教えて頂けないでしょうか? よろしくお願いします。
- ベストアンサー
- PHP
お礼
いつもアドバイスありがとうございます。本当に助かっています。 エラーが発生した時に、エラーの原因を自分でも調べているのです。調べ方が甘いかもしれませんが…。エラーをコピペして検索しているのですが、そこに書かれていることがまた分からなくなってしまう状況です。教えていただいた内容やコードについても調べて理解しようと努めていますが、入門書を数冊読んだ程度などで、深い理解ができていません。おっしゃられるようにの、どうやって原因を調べたらいいか基本的なことを理解できていません。入門書レベルからステップアップしてエラー対策をしていくにはどうしていけばよいでしょうか?アドバイスよろしくお願いします。