副業PHP
ここには説明文を表示します。
説明文は「モジュールの設定」にて編集できます。
説明文は「モジュールの設定」にて編集できます。
| メイン | 簡易ヘッドライン |
現在データベースには 1055 件のデータが登録されています。
最新 RDF/RSS/ATOM 記事
xhtmlで書かれたhtmlファイルの一部分を別のhtmlファイルで表示
in
Q&A掲示板
(2008-12-20 18:23:28)
お世話になっております。
タイトルの通りなのですが、xhtmlで書かれたhtmlファイルの一部分を別のhtmlファイルで読み込んで表示できるものなのかご教授頂きたく、こちらで質問させて頂きました。
普段、私はFeedCreator.class.phpでxmlファイルを「A」のサイトで生成し、「B」のサイトで「magpierss」などを使ってそのxmlファイルを読み込み表示させているのですが、「A」のサイトがxhtmlに遵守したものであれば、xmlファイルを生成しなくても「B」のサイトで「A」のサイトにあるhtmlファイルを同じような感じで読み込み表示させられるのでは、ということを聞き、検索してみたのですが思うような答えが見つからず・・・
これは可能なことなのでしょうか?
見当違いな質問でしたら申し訳ありません。
どうかご教授いただけたらと思います。宜しくお願い致します。
セッションについて
in
Q&A掲示板
(2008-12-19 23:08:48)
現在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);}
?>
こちらもセッション変数を利用しているので同じようにしたら
大丈夫だと思っていたのですが・・・
お分かりになる方ご回答お願いいたします。
GDとImageMagickの画質比較
in
PHPプロ!TIPS+
(2008-12-18 21:06:47)
こんばんは、牧野です。
以前、GDでの画像処理を紹介しました。
今日はPHPでよく使われるもう1つの画像処理方法、ImageMagickを使うやり方で画質にどれくらい差があるのか比べてみました。
pg_escape_stringの扱いについて
in
Q&A掲示板
(2008-12-18 19:26:10)
エスケープ処理でうまく動作しないので質問させてください
$sql="select * from data where id_=1 and name='tatou';
$esc_sql=pg_escape_string($sql);
上記のように文字を含んだSQL文をエスケープ処理してます
すると$esc_sqlの値をvar_dumpでチェックすると
select * from data where id_=1 and name=''tatou''
このようになっていて「'」が二重になっているためにpg_queryでエラーになってしまいます
pg_escape_stringはSQL文全体に対してつかってはいけないのでしょうか・・
一変数に対してでしか使えないのでしょうか
どなたかご教授お願いします
PHPプロ!Weekly PECL リリース @ 08/12/18号
in
PHPプロ!ニュース
(2008-12-18 18:40:00)
PHPプロ!Weekly PECLリリースでは、前週からの1週間にリリースされたPECLパッケージを、毎週まとめてご紹介します。
本記事では、12月11日から12月18日までの間にリリースされたパッケージ一覧を掲載しています。
phpとmysqlでデータ登録
in
Q&A掲示板
(2008-12-18 16:34:24)
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near
上記のようにエラーでました。分かる方いらっしゃいましたらよろしくお願いします。
ソースは下の通りです。
<?php
$con = mysql_connect("localhost","root","matsushima") or die(mysql_error());
mysql_select_db("koukou") or die(mysql_error());
$sql = "insert into area(name_area) values('".$_POST[name_area]."')";//SQL文の作成
$res = mysql_query($sql) or die(mysql_error());//クエリの実行
mysql_close($con);//切断
?>
<html>
<head>
<title>登録完了画面(サンプルリスト)</title>
<meta name="keywords" con_tent="入力フォーム,確認画面,サンプル">
</head>
<body>
<p>
空メールから自動返信するスクリプトについて
in
Q&A掲示板
(2008-12-18 0:52:02)
携帯サイトで空メールを送信して、自動返信メールに書かれたURLから会員登録させるスクリプトを作成しようとしています。
空メールから自動返信については、.forword等の説明があるサイトを参考にして、なんとかできそうかな?と考えていますが、送信するメールアドレスごとに、自動返信する文章を変更したいのです。
例:aaa@test.com 宛 ⇒ 自動返信文章 : regist.php?u=aaa
bbb@test.com 宛 ⇒ 自動返信文章 : regist.php?u=bbb
この場合、メールアドレスを増やす度に、毎回メールアカウントを追加して、設定を追加しなくてはいけないのでしょうか?
そうではなく、PHPでの管理画面で、ccc@test.comやddd@test.comのメールアドレスをDBなどに追加して、そのメールアドレスに送られてきたら自動返信メールが送信され、送信される文章も変更したいのです。
PHPとは関係ない場所での設定が多くなるかもしれませんが、ご存知の方がおられたら教えていただければ幸いです。
複数選択可能なフォームセレクトボックスの変数をphpで受け取る方法は?
in
Q&A掲示板
(2008-12-17 16:11:04)
送信フォーム
<form name="form" method="post" action="form.php">
<select name="sel[]" size="10" multiple="multiple">
<optgroup label="グループ1">
<option value="日本語1">日本語1</option>
<option value="日本語2">日本語2</option>
<option value="日本語3">日本語3</option>
</optgroup>
//以下省略
</form>
受け取りphp
$val = array();
if (isset($_POST['sel'])) {
foreach($_POST['sel'] as $key => $value)
{
$val[$key] = $value;
}
}
echo $val;
としているのですが、Arrayとしか返されません。どのように受け取ればいいのでしょうか?
ファイルアップロードした際に「move_uploaded_file」がFalseを返します
in
Q&A掲示板
(2008-12-17 14:53:23)
初めて投稿いたします。
現在、下記の要領でファイルアップロードのPGを作成しているのですが、
move_uploaded_fileがFalseを返し、ファイル移動ができません。
何がダメなのかが、理解できない状態にいます。
どうかご教授をお願いいたします。
<?php
if(is_uploaded_file($_FILES["addurl"]["tmp_name"])){
$area='../news/'.time();
mkdir($area);
chmod($area,0707);
$url=$area.'/'.$_FILES["addurl"]["name"];
if(move_uploaded_file($_FILES["addurl"]["tmp_name"],$url))
echo $url.":成功";
else
echo print_r($_FILES);
}
echo '<form enctype="multipart/form-data" action="'.$_SERVER['PHP_SELF'].'" method="post">';
echo '<input type="file" size="50" name="addurl" />';
echo '<input type="submit" name="insert" value="追 加" />';
?>
実行結果
Array ( [addurl] => Array ( [name] => 4.html [type] => text/html [tmp_name] => /tmp/phpqhkI3L [error] => 0 [size] => 79 ) ) 1
※作成したディレクトリのパーミッションは0707になっているのが、確認できています。
post_max_sizeは、8M
upload_max_filesizeは、2M
upload_tmp_dirは、no value
となっています。
二重圧縮ファイルかチェック(2回目)
in
Q&A掲示板
(2008-12-16 23:44:38)
こんばんは。初級です。
先日ご質問させていただきました、二重圧縮ファイルのチェックについての続きです。
http://www.phppro.jp/qa/1716
皆さんにご指導いただいたおかげで、何とか形になりました。
が、困ったことが2つあり、どうしても解決できなくて投稿しました。
まず流れですが、アップロード可能な圧縮ファイルをzip、lzhの2つにしました。
他の圧縮タイプは拡張子をDB化し、アップロード時のチェックではじくようにしました。
それで、困っていることは以下の点です。
①system関数の結果がブラウザに表示されてしまい、表示しないようにしたい
②解凍した中身のファイルがマルチバイト文字の場合、削除できない
※元のファイルはアップロード時に半角英数字のみにファイル名を自動変換しています。
以下ソースです。圧縮ファイルは一旦解凍するという方法にしました。
~拡張子取得まで省略~
if ($fileext2(拡張子) == "zip") { // zipの場合
$fileck = "/home/webmaster/public_html/****/****/data_temp/$up_file";
①↓
$ret = system("unzip -j '$fileck' -d /home/webmaster/public_html/****/****/data_temp");
$filecomp = basename($ret); //解凍した中身のファイル名取得(※マルチバイト文字の場合文字化けする)
$filecomp = "/home/webmaster/public_html/****/****/data_temp/$filecomp";
$ret = strchr($ret, "."); // 解凍した中身のファイルの拡張子取得
$ret = strtolower($ret); // 拡張子を小文字に変換
$ret = str_replace(".", "", $ret); // .(ドット)を削除
// 解凍した中身のファイルの拡張子で禁止ファイルかチェック
$sql = "SELECT * FROM [禁止ファイルDB] WHERE ckav = '$ret'";
$res = mysql_query($sql);
if (mysql_num_rows($res) <> 0) {
unlink($fileck); //禁止ファイルの場合、元の圧縮ファイル削除
unlink($filecomp); //禁止ファイルの場合、中身のファイル削除②
echo "<br /><font color=#FF0000><b>・このファイルは受付できません!</b></font>";
echo "<br /><font color=#FF0000><b>・ファイルは削除されました!</b></font><br />";
exit ();
}
else {
unlink("$filecomp"); //問題なかった場合は中身のファイルのみ削除②
}
解決方法を教えていただけないでしょうか?
お手数ですが、宜しくお願いいたします。
PHPプロ!Weekly PEAR リリース @ 08/12/16号
in
PHPプロ!ニュース
(2008-12-16 17:53:09)
PHPプロ!Weekly PEARリリースでは、前週からの1週間にリリースされたPEARパッケージを、毎週まとめてご紹介します。
本記事では、12月09日から12月16日までの間にリリースされたパッケージ一覧を掲載しています。
POSTデータのシリアル化について
in
Q&A掲示板
(2008-12-16 15:09:44)
初めまして、numnumと申します。
オブジェクト指向でコーディングをしていて少し疑問に思いましたので、投稿させて頂きました。
ご存知の方いれば、ご教授頂けると幸いです。
$obj = (object)$_POST;
$serObj = serialize ($obj);
上記のようにPOSTデータをシリアライズしてDB(当方はMySQLを使用しています)に保存した場合、
SQLインジェクションの可能性はありますでしょうか?
シリアル化することで、生の文字が見えてしまっているので少し不安に思いました。
親クラスのメソッドをクラス外から呼びたい
in
Q&A掲示板
(2008-12-16 13:28:32)
class testClass{
private $a=1;
}
class testClass2 extends testClass{
private $a=2;
function get_a(){return $this->a;}
}
class testClass3 extends testClass2{
private $a=3;
function get_a(){return $this->a;}
}
$test=new testClass3();
//testClass2::get_aを呼びたい
$ret=$test->get_a();
$ret=3になるのですが、testClass2の2を取得したいわけです。
testClass3でparent::get_aするなりtestClass2を直接インスタンス化すれば簡単なのですが、
クラス自体は触らずにどうにかする方法ってありませんでしょうか。
あとtestClass::$aもですが、これはrunkit_method_addでも使わないとどうにもならないかな…
#全然関係ないけどtestClass3をvar_dumpすると↓みたいになってキモくないですか?
object(testClass3)#1 (3) {
["a:private"]=>
int(3)
["a:private"]=>
int(2)
["a:private"]=>
int(1)
}
セッションの2次元配列
in
Q&A掲示板
(2008-12-16 1:09:03)
ありがとうございます。
PHPが出力するhtml内で、存在しない画像を<img src で参照していると、セッションの2次元配列が消えてしまう現象がおきるのですが、どうでしょうか、同じようなことを経験された方はいらっしゃいますでしょうか、もしいらっしゃたらどう解決されましたか
Zend_Amfについて質問です
in
Q&A掲示板
(2008-12-16 0:30:28)
Zend_Amfについて質問です
以下のURLのサンプルを試された方いらっしゃいますか?
(1)Getting started with Flex and Zend_Amf
http://www.phpbuilder.com/columns/richard_bates20081031.php3?aid_=1520&print_mode=1
(2)Remote objects and Zend_Amf
http://www.phpbuilder.com/columns/richard_bates20081107.php3?print_mode=1
(2)は(1)の続きです。
当方が試したところ、(1)は上手くいきましたが、(2)がどうしても
上手くいきません。
以下のエラーが表示されます。
Channel.Connect.Failed error NetConnection.Call.BadVersion:
ググッたところ、結構有名なエラーのようですが、原因不明です。
以下は、ZendAMF.mxmlです。
------------------------------------------------------------------------------
<? xml version = " 1.0 " encoding = " utf-8 " ?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical" creation_Complete="roContactService.getContacts()">
<mx:HBox width="100%" horizon_talAlign="center">
<mx:VBox height="100%" horizon_talAlign="center">
<mx:Label text="XML-Based Service" fon_tSize="14"/>
<mx:DataGrid id_="myDG">
<mx:columns>
<mx:DataGridColumn headerText="Name" dataField="name"/>
<mx:DataGridColumn headerText="Email" dataField="email"/>
<mx:DataGridColumn headerText="Phone" dataField="phone"/>
</mx:columns>
</mx:DataGrid>
<mx:Form>
<mx:FormItem label="Name">
<mx:TextInput id_="nameInput"/>
</mx:FormItem>
<mx:FormItem label="Email">
<mx:TextInput id_="emailInput"/>
</mx:FormItem>
<mx:FormItem label="Phone">
<mx:TextInput id_="phoneInput"/>
</mx:FormItem>
</mx:Form>
<mx:Button label="Save Contact" click="saveContact()"/>
</mx:VBox>
</mx:HBox>
<mx:RemoteObject endpoint="http://localhost/index.php"
id_="roContactService" destination="zend" source="ContactService" fault="handleFault(event)">
<mx:method name="getContacts" result="handleContacts(event)" fault="handleFault(event)"/>
<mx:method name="saveContact" result="handleSave(event)" fault="handleFault(event)"/>
</mx:RemoteObject>
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.automation.codec.ArrayPropertyCodec;
import mx.rpc.events.ResultEvent;
import mx.rpc.events.FaultEvent;
import com.flexandair.ContactVO;
import mx.controls.Alert;
import mx.utils.ArrayUtil;
[Bindable] public var dp:ArrayCollection;
public function handleContacts(event:ResultEvent):void {
dp = new ArrayCollection(ArrayUtil.toArray(event.result));
myDG.dataProvider = dp;
}
public function handleFault(event:FaultEvent):void {
Alert.show(event.fault.faultDetail, event.fault.faultCode);
}
public function saveContact():void {
var newContact:ContactVO = new ContactVO();
newContact.name = nameInput.text;
newContact.email = emailInput.text;
newContact.phone = phoneInput.text;
roContactService.saveContact(newContact);
}
public function handleSave(event:ResultEvent):void {
roContactService.getContacts();
nameInput.text = '';
emailInput.text = '';
phoneInput.text = '';
}
]]>
</mx:Script>
</mx:Application> ---------------------------------------------------------------------------
また、
src/com/flexandair配下に作成したContactVO.asです。
---------------------------------------------------------------------------
package com.flexandair
{
[Bindable]
[RemoteClass(alias="ContactVO")]
public class ContactVO
{
public var id:int;
public var name:String;
public var email:String;
public var phone:String;
public function ContactVO()
{
}
}
} ---------------------------------------------------------------------------
他に必要なphpおよびDBの設定は省略してあります。
試してみて、上手くいかれた方がいらっしゃいましたら、
教えて下さい。
TextMateで全角スペースと半角スペースの区別ができるようにする
in
PHPプロ!TIPS+
(2008-12-15 19:49:55)
今回はTextMateで全角スペースと半角スペースを見分けるために、全角スペースをハイライト表示するという設定を紹介します。
データベースより取り出した情報を表示したい
in
Q&A掲示板
(2008-12-14 19:05:59)
HTMLより登録された情報をphpからデータベースにinsertで入力し、その登録した名前のみを表示したいのですが表示ができません。(名前・nameが渡されない。smartyは使用しません。)
$sql = "insert into lesson4 values(null,'$name','$kana','$tel','$add')";
$result = mysql_query($sql);
if($result == false){
exit ("設定テーブルに書き込めません。<br>");
}
else{
echo "name= ".$result[name];
}
"name= ".$result[name];のところがおかしいのでしょうか?画面にはname= としかでてきません。
htmlは記載してませんが、$name = $_POST['name'];で受取ってます。
初歩的なことで申しわけないですが、宜しくお願いいたします。
formからアップロードされたファイルの破損チェック
in
Q&A掲示板
(2008-12-14 13:04:52)
formからファイルをアップロード、pearのfile_archiveを使用してzipのみ解凍処理を行うというコードを書いています。
この動作自体は上手くいったのですが、アップロードされたzip書庫ファイルが破損?(ファイルを開くと予期しない終わりですとかなんとかでるもの)している場合に「Allowed memory size of ~」というエラーがでてしまいます。
もっと容量の大きなファイルでは成功しているのでメモリサイズの設定ではないと思うので破損しているところでずっとひっかかってメモリを消費しているのかと推測しています。
そこでアップロード→zipの解凍処理の間に、「アップロードされたファイルがzipならファイル破損の有無をチェックする」という処理か「Allowed memory size of ~」のエラーをキャッチして例外処理を書きたいのですがそこから先に進めずにいます・・・
エラーのキャッチはtry~catchでは上手く拾えませんでした。
よろしくお願いします。
データベース連動に関する質問です。
in
Q&A掲示板
(2008-12-13 6:08:20)
初めまして。
とても初歩的のような質問で恐縮ですが宜しくお願い致します。
現在参考書を使用して勉強しているのですが、データベース登録時、
データベースに接続する記述で
/* MySQLに接続 */
$link = mysql_connect("localhost", DB_USER, DB_PASS)
or die("データベースへの接続に失敗しました。\n");
という記述がありました。
その通りに記述して実行したところ、正常に処理されていたようでした。
"$link"に"mysql_connect~~"を代入しているだけに見えるのに、
なぜ正常に動いているのか?
どなたかご教授頂ければ幸いです。重ね重ね宜しくお願い致します。
2008年社員旅行 @千葉
in
アシアルブログ
(2008-12-12 18:12:00)
小林です。
社員旅行というと温泉でまったり、ゆっくりというのが通説かもしれませんが、アシアルの社員旅行は、少々趣向が異なります。
1. ご飯は自分たちで用意する。
→ 働かざるもの食うべからず!!??
2. 体育館を貸し切って、ひたすら運動
→ 気分爽快☆
飲み会も月1~3回開催と何かと社員が集まってワイワイする機会が多い会社ですが、こう改めて一緒に時間を過ごすことで、それぞれの良さなどに改めて気がつくものです。
ご飯を作る、片付けるなど共同作業をどう遂行するかも、それぞれの性格が如実に表れ、新たな発見などもありました。
来年はどこに行こうかな・・・。
良く晴れて海の青と空の青が際だつ一日でした。波の音が心地よかったです。。。
鴨川シーワールド。シャチのショウでは容赦なくずぶ濡れになっている人がいました。
餌付け。ペンギンたちは意外に賢く、自分の番をじっと待っていました。
本日の献立は、海鮮鍋×2+もつ鍋(キムチちげ)、サラダ、カルパッチョでした。
試練のとき。マザー牧場にこんなアトラクションがあったとは・・・。
バドミントン、バレー、フットサル・・・終わってみるとへとへとでした。
社員旅行というと温泉でまったり、ゆっくりというのが通説かもしれませんが、アシアルの社員旅行は、少々趣向が異なります。
1. ご飯は自分たちで用意する。
→ 働かざるもの食うべからず!!??
2. 体育館を貸し切って、ひたすら運動
→ 気分爽快☆
飲み会も月1~3回開催と何かと社員が集まってワイワイする機会が多い会社ですが、こう改めて一緒に時間を過ごすことで、それぞれの良さなどに改めて気がつくものです。
ご飯を作る、片付けるなど共同作業をどう遂行するかも、それぞれの性格が如実に表れ、新たな発見などもありました。
来年はどこに行こうかな・・・。
良く晴れて海の青と空の青が際だつ一日でした。波の音が心地よかったです。。。
鴨川シーワールド。シャチのショウでは容赦なくずぶ濡れになっている人がいました。
餌付け。ペンギンたちは意外に賢く、自分の番をじっと待っていました。
本日の献立は、海鮮鍋×2+もつ鍋(キムチちげ)、サラダ、カルパッチョでした。
試練のとき。マザー牧場にこんなアトラクションがあったとは・・・。
バドミントン、バレー、フットサル・・・終わってみるとへとへとでした。
execution time : 0.211 sec
