xmlファイルをphp→mysql
-
shoshinsha
xmlファイルをphp→mysql
お世話になっております。
現在xcode上でxmlファイルをpostすることができたのですが、mysqlはs調べてみたところxmlファイルのままでは保存できないとのことでした。
そこでそれに合わせてphp側でも変換などの処理をしなければ行けないと思うのですが、どのようにしていけばよいでしょうか? アドバイスもらえれば幸いです、
現在xcode上でxmlファイルをpostすることができたのですが、mysqlはs調べてみたところxmlファイルのままでは保存できないとのことでした。
そこでそれに合わせてphp側でも変換などの処理をしなければ行けないと思うのですが、どのようにしていけばよいでしょうか? アドバイスもらえれば幸いです、
Re: xmlファイルをphp→mysql
そのXMLデータをどう扱いたいのでしょうか。shoshinsha さんが書きました:現在xcode上でxmlファイルをpostすることができたのですが、mysqlはs調べてみたところxmlファイルのままでは保存できないとのことでした。
そこでそれに合わせてphp側でも変換などの処理をしなければ行けないと思うのですが、どのようにしていけばよいでしょうか? アドバイスもらえれば幸いです、
単純に保存しておけばよい (クエリとして使わない) のであれば,TEXT型の列に入れてしまえばよいです。
ただ,普通はXML自体はデータをシリアライズした結果としてのXMLでしょう。
であれば,XMLのスキーマとDBのスキーマをどう対応させるかを決めて,PHP側でその対応に沿ってINSERT文等を発行していくことになります。
XMLのスキーマをDB側によせてつくっておけば,DBの正規化の段階で分解する過程を,XMLに対して行っていくような感じになるかと思います。
-
shoshinsha
Re: xmlファイルをphp→mysql
返信ありがとうございます。
xmlデータは単純に保存するのではなく、一応、iphone側で呼び出されたらDBからそのxmlファイルを読み込んで、iphone側で使用したいと考えております。 呼び出す際にはxmlパースを使えばよいtと考えているのですが、TEXT型でよろしいのでしょうか?
xmlファイルの形としては
このような形なのですが、うまくこの数字?をデータベース保存したいです。
xmlデータは単純に保存するのではなく、一応、iphone側で呼び出されたらDBからそのxmlファイルを読み込んで、iphone側で使用したいと考えております。 呼び出す際にはxmlパースを使えばよいtと考えているのですが、TEXT型でよろしいのでしょうか?
xmlファイルの形としては
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
<real>0.24993503093719482</real>
<real>0.23378300666809082</real>
<real>0.2180359959602356</real>
<real>0.36251997947692871</real>
<real>0.81670200824737549</real>
<real>0.019291043281555176</real>
<real>0.48606997728347778</real>
<real>0.67233902215957642</real>
</array>
</plist>
Re: xmlファイルをphp→mysql
これは,iPhoneではXMLのデータをそのまま使いたい,ということですか。shoshinsha さんが書きました:xmlデータは単純に保存するのではなく、一応、iphone側で呼び出されたらDBからそのxmlファイルを読み込んで、iphone側で使用したいと考えております。
そうであるならば,例えばMySQL用のDDLで作られるようなテーブルを用意しておき,
- 最初にXMLを送られてきたときにはWeb APIはid値を返し,iPhone側ではそのid値を記憶する
- iPhoneはXMLがほしいときに先のid値を指定して要求する
- Web APIはid値を元にXMLを取得し,XMLをそのまま返す
見たところ,検索されることを前提としていないXMLデータのようなので,Webアプリケーション側でXMLをパースする必要性を感じません。
-
shoshinsha
Re: xmlファイルをphp→mysql
ありがとうございます。
>>これは,iPhoneではXMLのデータをそのまま使いたい,ということですか。
iphoneでidなどを指定して呼び出したらxmlのデータを読み込んで配列に格納するつもりです。
まずはxmlのファイルデータを保存しなければ行けないので…
>>見たところ,検索されることを前提としていないXMLデータのようなので,Webアプリケーション側でXMLをパースする必要性を感じません。
少し自分なりに調べたのですが、php側で処理をして、apacheサーバ上にxmlファイルを置いてしまうということはできますでしょうか?
トピック名がphp→mysqlとなっていて非常に申し訳ないのですが、mysqlを使わずにサーバ上にxmlファイルとして保存ということは可能でしょうか?
トピック名とずれてしまい申し訳ないです。よろしくおねがいします、
>>これは,iPhoneではXMLのデータをそのまま使いたい,ということですか。
iphoneでidなどを指定して呼び出したらxmlのデータを読み込んで配列に格納するつもりです。
まずはxmlのファイルデータを保存しなければ行けないので…
>>見たところ,検索されることを前提としていないXMLデータのようなので,Webアプリケーション側でXMLをパースする必要性を感じません。
少し自分なりに調べたのですが、php側で処理をして、apacheサーバ上にxmlファイルを置いてしまうということはできますでしょうか?
トピック名がphp→mysqlとなっていて非常に申し訳ないのですが、mysqlを使わずにサーバ上にxmlファイルとして保存ということは可能でしょうか?
トピック名とずれてしまい申し訳ないです。よろしくおねがいします、
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: xmlファイルをphp→mysql
>mysqlを使わずにサーバ上にxmlファイルとして保存ということは可能でしょうか?
可能ですが前から説明している通り、ユーザー識別情報が必要です。ユーザー識別情報でファイル名を作らないとファイル名がバッティングしてしまいますから絶対に必要です。MySQLでも格納するときに検索キーとしてユーザー識別情報が必要なのと同じ事です。
可能ですが前から説明している通り、ユーザー識別情報が必要です。ユーザー識別情報でファイル名を作らないとファイル名がバッティングしてしまいますから絶対に必要です。MySQLでも格納するときに検索キーとしてユーザー識別情報が必要なのと同じ事です。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
-
shoshinsha
Re: xmlファイルをphp→mysql
ありがとうございます。 ファイル名はxcode上でユーザーがtextfieldに入力したものをファイル名とするつもりです。
実装に関してですが、iphoneからhttp通信をしてphpファイルにアクセス、phpファイルがxampp/htdocs内にファイルを保存という流れで大丈夫でしょうか?
実装に関してですが、iphoneからhttp通信をしてphpファイルにアクセス、phpファイルがxampp/htdocs内にファイルを保存という流れで大丈夫でしょうか?
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: xmlファイルをphp→mysql
その場合は「textfieldに入力したもの」がファイル名として適正なものである事と他のユーザーと重ならない保証が必要です。
> 実装に関してですが、iphoneからhttp通信をしてphpファイルにアクセス、phpファイルがxampp/htdocs内にファイルを保存という流れで大丈夫でしょうか?
大丈夫に見えますが、どこまでphpを使いこなせているかわかりませんので多分大丈夫です。とぐらいにしか言えません。
それこそ先に実験すべきで、iPhoneのコードを組まなくても実験できますよ。
> 実装に関してですが、iphoneからhttp通信をしてphpファイルにアクセス、phpファイルがxampp/htdocs内にファイルを保存という流れで大丈夫でしょうか?
大丈夫に見えますが、どこまでphpを使いこなせているかわかりませんので多分大丈夫です。とぐらいにしか言えません。
それこそ先に実験すべきで、iPhoneのコードを組まなくても実験できますよ。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
-
shoshinsha
Re: xmlファイルをphp→mysql
ありがとうございます。
ファイル名として適正なものというのは入力されたもののタイプ(数字やローマ字など)ということでよろしいでしょうか?
先に実践すべきとのことですが、htmlファイルでアップロード実装とphpファイルでアップロードされたファイルをサーバ保存としてxampp/htdocsに保存ということをげんざいやっているのですがそういうことでしょうか?
ご返信お待ちしております。
ファイル名として適正なものというのは入力されたもののタイプ(数字やローマ字など)ということでよろしいでしょうか?
先に実践すべきとのことですが、htmlファイルでアップロード実装とphpファイルでアップロードされたファイルをサーバ保存としてxampp/htdocsに保存ということをげんざいやっているのですがそういうことでしょうか?
ご返信お待ちしております。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: xmlファイルをphp→mysql
> ファイル名として適正なものというのは入力されたもののタイプ(数字やローマ字など)ということでよろしいでしょうか?
ファイル名に何の文字が使えるかはOSなどに依存します。
それと他のファイルを破損しない情報という意味も含みます。
index.phpとか入力できたら既ににあるファイルも書き換えられかねませんよね。
./data/とか出来たら他のフォルダのファイルも書き換え可能です。
>先に実践すべきとのことですが、htmlファイルでアップロード実装とphpファイルでアップロードされたファイルをサーバ保存としてxampp/htdocsに保存ということをげんざいやっているのですがそういうことでしょうか?
iPhoneからもアップロードと同じ形式でやるなら問題ないです。
xampp/htdocsにファイルを保存するのはセキュリティ的にどうかと思いますが。
最終的には、どこに保存するんでしょうか?
ファイル名に何の文字が使えるかはOSなどに依存します。
それと他のファイルを破損しない情報という意味も含みます。
index.phpとか入力できたら既ににあるファイルも書き換えられかねませんよね。
./data/とか出来たら他のフォルダのファイルも書き換え可能です。
>先に実践すべきとのことですが、htmlファイルでアップロード実装とphpファイルでアップロードされたファイルをサーバ保存としてxampp/htdocsに保存ということをげんざいやっているのですがそういうことでしょうか?
iPhoneからもアップロードと同じ形式でやるなら問題ないです。
xampp/htdocsにファイルを保存するのはセキュリティ的にどうかと思いますが。
最終的には、どこに保存するんでしょうか?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
-
shohsinhsa
Re: xmlファイルをphp→mysql
ありがとうございます。
そこまでしっかりかんがえないといけないんですね。ありがとうございます。
>>iPhoneからもアップロードと同じ形式でやるなら問題ないです。
xampp/htdocsにファイルを保存するのはセキュリティ的にどうかと思いますが。
最終的には、どこに保存するんでしょうか?
セキュリティ的に危ないんですか。
xampp(apache)を使っているかたはデータは普通どこにほぞんするのでしょうか?
そこまでしっかりかんがえないといけないんですね。ありがとうございます。
>>iPhoneからもアップロードと同じ形式でやるなら問題ないです。
xampp/htdocsにファイルを保存するのはセキュリティ的にどうかと思いますが。
最終的には、どこに保存するんでしょうか?
セキュリティ的に危ないんですか。
xampp(apache)を使っているかたはデータは普通どこにほぞんするのでしょうか?
Re: xmlファイルをphp→mysql
ファイルごとDBに突っ込むのが基本です。shohsinhsa さんが書きました:>>iPhoneからもアップロードと同じ形式でやるなら問題ないです。
xampp/htdocsにファイルを保存するのはセキュリティ的にどうかと思いますが。
最終的には、どこに保存するんでしょうか?
DBを使わず,または,使ってもパスを保存する場合は,一度プログラムを経由して取得するのがよいです。
この場合,ファイルが専用のディレクトリに置きます。
ディレクトリトラバーサルの脆弱性が含まれないように注意が必要ですが。
オフトピック
この掲示板の場合,画像などは
http://dixq.net/forum/download/file.php?id=XXXX
という形で提供されています。
恐らくDBに画像データが入っていて,idがキーなのだと思います。
http://dixq.net/forum/download/file.php?id=XXXX
という形で提供されています。
恐らくDBに画像データが入っていて,idがキーなのだと思います。
当然ながら権限などのチェックは行えなくなります (Basic認証をユーザーごとにかける,ということは可能ですが……)。