BellBell の回答履歴
- ファイルの読み書きでエラー
下記のようなプログラムでファイルからデータを読み、 データを加工して、ファイルに書き込んでいます。 しかし、頻繁にアクセスがあると、読み出しのエラーや ファイルの中身が消えてしまう症状も発生します。 (ファイルの中身が消えるのは読み出し時にデータが 読めないからかも知れません) エラーをなくす為にはどうしたら良いのでしょうか? 教えて下さい。 $cmdata = file($cmfile); //ファイルからデータを読む ・ ・(データの加工) ・ $fp = @fopen($cmfile,"w+"); flock($fp,LOCK_EX); for( $i=0; $i<count($cmdata); $i++ ) { fputs($fp, $cmdata[$i]); } //ファイルにデータを書く flock($fp,LOCK_UN); fclose($fp);
- 締切済み
- PHP
- visitor777
- 回答数5
- テキストデータに関して
お世話になっております。 PHPにてwebアプリケーションを作っており、その中でMySqlなどのDBを使用せず、保存すべきデータは、テキストファイル(.txt)を用いているのですが、URLでそのテキストファイルを直接読み込むと、当然ながらファイルの内容を読まれてしまいますが、ファイルの内容を読まれないようにする設定などはあるのでしょうか? 具体的には・・ .txtではなく、他の拡張子に変更することで、.txt同様の構造が作れるのであれば、それに越したことないが、その場合、ファイルの生成・内容書込みなどを行うPHPのソースは、単に拡張子を変更するだけで良い?また、その.txtに代わる拡張子は? .htaccessなどを用いてファイルの内容を外部から参照できなくする設定があると耳にしたことがあるが、読み書き可能としているファイル(属性606に設定)でも、.htaccessの設置は不具合はないのか? などです。これまでファイルの読み込み・書込みなどをものは作成したことが無く、お恥ずかしい質問かと思いますが、アドバイスなど頂戴できれば幸いです。 お忙しい中恐縮ですが、宜しくお願い申し上げます。
- TCP/IP 通信を一括して管理する方法
こんにちは。 TCP/IP 通信を一括して管理することがVisual Basic2008やC#を用いてできる でしょうか?具体的にはブラウザの種類によらずドメインを登録しておけば そのサーバに接続出来なくなる、ブラウザでアクセスしたときのヘッダーを 別窓のテキストボックスに表示する、ブラウザ以外のTCP/IP通信を感知する などです。 よろしくお願いいたします。
- 締切済み
- Visual Basic
- noname#190095
- 回答数1
- 画像のアップロード
はじめまして。本を参考にphp4.3.11&MYSQLによる画像のアップロードについて勉強中の初心者です。 開発はレンタルサーバーで行っています。 画像のアップロードに関して下記プログラムを設定しているのですが、 エラーが表示されて画像のアップロードができません。 ■設定したitem2.php 内のソースです。 require( '../config.php' ); // 写真アップロード $path_parts = pathinfo( $_FILES['userfile']['name'] ); $uploadfile = $item_image_dir . $item_id . '.' . strtolower( $path_parts['extension'] ); if ( move_uploaded_file( $_FILES['userfile']['tmp_name'], $uploadfile ) ) { chmod( $uploadfile, 0777 ); $sql = "update item set image_url ='" . $item_image_url . $item_id . '.' . strtolower( $path_parts['extension'] ) . "' where item_id = '$item_id'"; $result = mysql_query( $sql ); } ■外部参照している../config.php 内の記述です。 $item_image_dir = '/var/www/****/htdocs/image/item/'; $item_image_url = '/image/item/'; ▼エラー内容です。 Warning: move_uploaded_file(home/****/public_html/image/item/0.gif) [function.move-uploaded-file]: failed to open stream: No such file or directory in /home/****/public_html/admin/item2.php on line 68 Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpov0Fqr' to 'home/****/public_html/image/item/0.gif' in /home/****/public_html/admin/item2.php on line 68 image/itemのパラメータは777に設定しております。 どなたか原因お分かりになられる方がいらっしゃったらどうかお教え ください。ご不明な点などございましたら是非ご指摘ください。 どうぞよろしくお願いいたします。
- モバゲーのように携帯サイトをフレームを使って表示するには?
携帯サイトを運営しているのですが、 あるワードで検索した際に上位表示するようになったので、 モバゲーのようにパソコンサイトでフレームを使って表示させたい と考えています。 その際にパソコンで閲覧した際に、自動的に http://○○○.jp/pc/ のようになるようにして、モバゲーやhttp://pc.aodeco.com/のように表示するにはどうすればいいですかね? 誰かわかる方いましたら教えてください。
- ベストアンサー
- PHP
- noname#102548
- 回答数1
- セッションについて
現在phpとMysqlで認証後、認証時に入力したID名のディレクトリを自動で作るシステムを作っています。 しかし、ID名のディレクトリにファイルをアップロードしたいのですが、なぜか指定よりひとつ上の階層にファイルが保存されてしまいます。 考えられることを以下に記します。 1、セッションがうまく渡ってきておらず、指定先のセッション変数が空である。 2、関数の使い方が間違っている。 この他に理由があるのかもしれません。 アップロード指定ディレクトリは以下のように指定しています。 $username = $_POST['user']; $_SESSION['username'] = $_POST['user']; $file_dir = "c:/xampp/htdocs/report/$username"; ちなみに認証時のID名のディレクトリを作るプログラムは以下の通りです。 <?php session_start(); $dirname = $_POST['user']; $_SESSION['dirname'] = $_POST['user']; $path = "c:/xampp/htdocs/report/$dirname"; if(!file_exists($path)){mkdir($path);} ?> こちらもセッション変数を利用しているので同じようにしたら 大丈夫だと思っていたのですが・・・ お分かりになる方ご回答お願いいたします。
- phpで、可変項目のcsvデータを読み込みたい
csvでデータを読み込む方法はネットで見つけたのですが、下記の条件を加えた場合どうすればいいか分かりません。 ネットで見つけた方法は、ファイルを1行ごと読み込み、コンマごとに区切って配列にいれる方法です。 しかし、項目が可変の場合、名前を入れたいところに別のデータが入ったりします。 【条件】 csvの項目名は、 A,B,C,D,E,F とする それぞれの項目は、省略可能(どこが省略されるか分からない) そのため、 A,D,E,F など、項目名が少ないCSVファイルもある。 こんな場合は、どのように処理をすればよいでしょうか? 実際は、項目名が50個ほどあります。 今回の例のように、少なければ何とかできそうなのですが・・・ 【補足・データファイル】 "A","B","C","D","E","F",←項目名 "山田","太郎","東京","15","123-221","男",←データ "山田","次郎","東京","13","124-567","男", ・・・・・・・・・↓続く ・・・・・・・・・
- パソコンでサイトを閲覧した際に、絵文字を画像で表示するには?
携帯サイトを運営しておりまして、 絵文字をネットで探したフリーのphpで3キャリア対応にしております。 携帯は問題ないのですが、パソコンで閲覧した際に絵文字が表示されないので、 サイトに訪れた方へ、絵文字の部分をその絵文字に対応した画像で表示するようにするにはいい方法はないでしょうか? ちなみに下記のサイトのphpを利用しております。 http://surf-style.us/ よろしくお願いします。
- ベストアンサー
- PHP
- noname#102548
- 回答数1
- VB5.0のocx?について
知り合いに聞かれたことなのですが、 VB5.0の開発環境のあるPCについて、 Windows2000からWindowsXPにOSを入れ替えたそうです。 そうしたところ、 VBのダイアログボックスだけがバージョンアップされてしまった、 ということで、 それだけ元のバージョンに戻すのはどうしたらよいでしょうか? ちなみにVB6.0にコンバージョンするとなると、 割と手がかかりそうなので、 ひとまずはVB5.0のままでいくようです。 VB5.0のランタイムをインストールするとか、 どうにかしてocxを入れ替えたらよいのかな? と思うのですが、 最適な対処法がよくわかりません。 ご存知の方がいらっしゃったら、よいと思われる対処法を教えてください。
- ベストアンサー
- Visual Basic
- musashi228
- 回答数4
- VBで擬似Continueを行いたいのですがよくわかりません。
このようなコードを使いたいのですが・・・ Set objShell = CreateObject("Shell.Application") For Each objWindow In objShell.Windows If TypeName(objWindow.Document) <> "HTMLDocument" Then Continue End If これに対応したやり方というのを下記サイトで見つけました。 http://mga.cocolog-nifty.com/pc_info/2006/11/vbscript_tips1__7a8f.html clip ただどういうう風に書き直したらいいか分からなく困っています。 どなたか解説いただけないでしょうか?
- ベストアンサー
- Visual Basic
- komarimono
- 回答数2
- VB5.0のocx?について
知り合いに聞かれたことなのですが、 VB5.0の開発環境のあるPCについて、 Windows2000からWindowsXPにOSを入れ替えたそうです。 そうしたところ、 VBのダイアログボックスだけがバージョンアップされてしまった、 ということで、 それだけ元のバージョンに戻すのはどうしたらよいでしょうか? ちなみにVB6.0にコンバージョンするとなると、 割と手がかかりそうなので、 ひとまずはVB5.0のままでいくようです。 VB5.0のランタイムをインストールするとか、 どうにかしてocxを入れ替えたらよいのかな? と思うのですが、 最適な対処法がよくわかりません。 ご存知の方がいらっしゃったら、よいと思われる対処法を教えてください。
- ベストアンサー
- Visual Basic
- musashi228
- 回答数4
- ソフトバンクへのデコメ送信
ドコモ用のデコメテンプレートを参考にし、下のようなコードでソフトバンク携帯へメールすると、ソフトバンクでだけテキストパートが添付ファイルとしても受信されてしまいます(画面の表示はHTMLパートになってます)。 ソフトバンク携帯のメール受信設定を全受信に変更しても同様でした。 auとドコモでテストした場合は、HTMLパートのみが表示され、添付ファイル等は付いていません。 テスト環境が乏しく、一部の機種でしかテストできない為これが仕様上のものなのか、スクリプトの不備なのかどうかがわかりません。 ご存知の方おりましたら、なにかアドバイスいただけると助かります。 テストで使用した端末は、「docomo:P703i」、「au:W63SA」、「ソフトバンク:905SH」です。 どうぞよろしくお願い致します。 <?php mb_language( "japanese" ); mb_internal_encoding( "UTF-8" ); $to = '[ソフトバンクのメールアドレス]'; // 件名セット $subject = '件名'; // ヘッダを作成 $headers = "From: hoge@hoge.jp\r\n"; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Content-Type: multipart/related;boundary=\"NEXT_PART\""; //テキスト・HTMLパート $body =<<<END --NEXT_PART Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ここがテキストパート --NEXT_PART Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit <html> <body> <font color="#FF0000">ここがHTMLパート</font> </body> </html> --NEXT_PART-- END; // メールを送信 $res = mail( $to, $subject, $body, $headers ); // 結果 if( $res ){ echo "OK"; }else{ echo "NG"; } ?>
- For~next を使ってテキストボックスの内容を取得するにはどのようにしたらいいでしょうか??
宜しくお願い致します。 VB2005を使って勉強中です。 現在このようなコードを書いています。 Dim i As Integer For i = 0 To 2 t(i) = ("T" & i).Text MsgBox(t(i)) Next 上のようにコードを書くとエラーになってしまいます。 なぜこのように書いたかといいますと、 t(i) = ("T" & i).Text の部分を t(i) = T0.Text とすると“T0”というテキストボックス内に記述されている数値を3回メッセージボックスで表示することができたので、同じような感じで書くとT0~T2までのテキストボックス内に記述されている物を順番に表示できるようになるのでは??と思ったからなのですが・・・ 結局無理で行き詰っています。 素人質問ですみません。 どなたか良きアドバイスを宜しくお願い致します。
- 締切済み
- Visual Basic
- munou1go
- 回答数2
- フォームからのデータを繰り返し受けたいのですが・・・
phpでフォームのポストからデータを受け取る方法しか知らない初心者ですが、以下のことについて教えてください。 フォームでユーザーが文字を入力して、追加を押すとその文字が表示されます。ここまでは、普通に受け取って表示するだけなので出来るのですが、このデータを一時的に保存したい場合どうすればいいのでしょうか? また、ユーザーが1回入力後追加でデータを送り、数回繰り返したとします。そのデータを1回目から数回送ったデータを整理して表示し、さらに、jsファイルを生成してDL出来るようにしたいのですが、方法がありましたら教えてちた抱けないでしょうか? データの表示ですが、追加を押すごとにデータが表示されていくようにしたいです。 説明が足りず分かりにくいと思いますので以下にサンプル的なものを書いておきます。 1回目 「あいうえお」と入力し追加を押すと 1回目 あいうえお と表示 2回目 「かきくけこ」と入力して追加を押すと 1回目 あいうえお 2回目 かきくけこ と表示します 最後にDLボタン的なものを作って、その文字を処理して拡張子がjsファイルでダウンロードします。 実際は、追加を押した時に文字を処理するのですが、そこは何とかできそうなので、数回データを受け取るのと、受け取ったデータの表示と一時的保存方法(数回になって来ると初めのデータの記憶方法という意味です)を教えていただけないでしょうか? よろしくお願いします
- ベストアンサー
- PHP
- googleoooo
- 回答数4
- いったいどういうこと?
Microsoft Visual Basic .NET Standard 2003をインストールして、スタートページにある真ん中のタブ【オンラインリソース(N)】をクリックすると、「この機能を使用するには、あらかじめインターネットに接続しているか、または現在オンラインになっていなければなりません。」という表示が出てきます。しかし、インターネットには接続していますし、オンラインの状態にもあると思うのですが、いったいこれはどういうことなのでしょうか。 お分かりの方がみえましたら、どうか解説をお願いいたします。
- 締切済み
- Visual Basic
- tsuyo1954
- 回答数1
- サブフォームにラジヲボタンを・・・つけたい・・・みたいな
access2007でサブフォームにテーブルレコードを表示して、レコードセレクタの代わりにラジヲボタンを付けてレコードを選択できるようにしたいのですが・・・ボタンを押すと全部のレコードが選択されてしまいます。ラジヲボタンでは不可能なのでしょうか?教えてください。 (普通の選択ボタンみたいなのでもいいのですが・・・見た目的に・・・です)
- ベストアンサー
- Visual Basic
- rimstar
- 回答数2
- 「竹下 肯己」の読み方を教えてください!
皆さん、こんばんは。 恐らくエンジニアの方だと思うのですが、名前のヨミが分かりません。 「竹下 肯己」…、タケシタ コウキさん、でしょうか。 どうか、皆さまの知恵をお貸しくださいっ。
- 【初心者】携帯用PHP簡単ログイン画面
はじめまして。 mana5150と申します。 最近プログラミングの勉強を始めたばかりで全くの初心者です。 わからない部分が多く皆様のお知恵を拝借させて頂きたく投稿致しました。 私は今本を参考にしながら携帯サイトの簡単ログイン画面を作ろうとしているのですが、以下の箇所が全くといっていい程理解できません。本やサイトなど見ながら理解しようとしているのですがどういった処理の流れなのか全くイメージが掴めません・・・どなたか解説して頂けないでしょうか?初心者的質問になってしまうのですが何卒よろしくお願い致します。 PHP×携帯サイト-デベロッパーズバイブル http://www.amazon.co.jp/PHP%C3%97%E6%90%BA%E5%B8%AF%E3%82%B5%E3%82%A4%E3%83%88-%E3%83%87%E3%83%99%E3%83%AD%E3%83%83%E3%83%91%E3%83%BC%E3%82%BA%E3%83%90%E3%82%A4%E3%83%96%E3%83%AB-%E8%8D%92%E6%9C%A8-%E7%A8%94/dp/4797348461/ref=sr_1_1?ie=UTF8&s=books&qid=1228929437&sr=8-1 //会員データを読み込む $member_array = array(); $filename = 'member_data.txt'; $handle = fopen($filename, 'r'); while(($member = fgetcsv($handle) !== false)){ $member_array[] = $member; } fclose($handle); //会員データから当該データを取得する $name = ''; foreach ($member_array as $member){ if(strcmp($member[0],$mobile_id) === 0 && strcmp($member[1], $carrier) === 0) { $name = $member[2]; } }
- PHPやjavascriptを無効にする方法
PHP+MySQLで掲示板のようなものを作成しています。 投稿の際、HTML形式が利用できるようにしたいと思っています。 概ね完成したのですが、HTML形式で投稿できるということは、PHPやjavascriptのコードを投稿すれば、それらの機能も利用されてしまうことに気がつきました。 たとえば、投稿フォームから <?php //悪意のあるコード ?> と入力すれば、悪意のあるコードが実行されてしまいます。 そこで、投稿された部分のPHPやjavascriptだけを無効にする方法はないのでしょうか? あるいは$や{や;など、PHPやjavascriptなどで使用する記号を受け付けないようにすればいいのでしょうか? うまく説明できないので詳細は割愛しますが、「HTMLでの投稿をやめる」という選択ができないので悩んでいます。 どのような対処をすればいいのか、ご教授願います。 説明不足な点がありましたら、ご指摘いただければ補足します。 よろしくお願いいたします。
- VB2005でで正しい計算結果が出ません。
VB2005でで正しい計算結果が出ません。 こんにちわ。プログラミング初心者です。どうかよろしくお願いします。 緯度経度を変換する計算式をプログラムしたのですが、計算結果が間違って出力されます。 下にプログラムを書くのでどこがおかしいのか、またどうすれば正しい計算結果が求められるのかを教えてください。お願いします。 ちなみにTextBox22には 3601.4589 、 TextBox23には 13942.9930 のような数字が入っています。 Private Sub seriWork() Dim buffer, buffer2() As String Dim di1, di2, dk1, dk2 As Double '~通信に関するところなので中略します~ '~ここから先が計算です~ 'Dの緯度百分率変換表示 TextBox22.Text = dN di1 = Double.Parse(Mid(TextBox22.Text, 1, 2)) di2 = Double.Parse(Mid(TextBox22.Text, 3, 7)) TextBox14.Text = di1 + (di2 / 60).ToString() 'Dの経度百分率変換表示 TextBox23.Text = dE dk1 = Double.Parse(Mid(TextBox23.Text, 1, 3)) dk2 = Double.Parse(Mid(TextBox23.Text, 4, 7)) TextBox15.Text = dk1 + (dk2 / 60).ToString() Me.Invoke(New ReDelgate(AddressOf completed)) End If Loop Catch ex As Exception MessageBox.Show(ex.Message, "エラー", MessageBoxButtons.OK, MessageBoxIcon.Error) Finally If SerialPort1.IsOpen = True Then SerialPort1.Close() End Try End If この計算の意図は、GPSレシーバーから受信される「3601.4589」のような形の座標形式を googl mapで表示できる座標に変換するものです。 たとえば、シリアルポートでGPSから受信した緯度が3601.4589 の場合は、「=36 + (1.4589 / 60)」と計算すると 36.024315 のような形になります。 あと、3601.4589 を 36と1.4589で分割するためにMidを使用しています。 /60は公式です。 上記プログラムだと 62.3333333 のような誤解答が出てきます。 どうか教えてください。お願いします。
- 締切済み
- Visual Basic
- dragon_69
- 回答数3