ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

初心者PHP講座コミュの激初心者の質問トピ(2)

  • mixiチェック
  • このエントリーをはてなブックマークに追加
すみません。

1000件目を踏んでしまったので、立て直します。


前トピックはこちらです。

http://mixi.jp/view_bbs.pl?id=11919498&comm_id=59939

コメント(917)

>>[879]、お世話になります。

画像は001.jpgで教えていただいたPHPをtest002.phpにして別ページのpostを実行すると、下記のエラーが出ます。


<form action="test002.php" method="post">
<input type="hidden" name="fileName" value="001.jpg" />
<input type="submit" value="001.jpgを削除" />
</form>

array(1) { ["001.jpg"]=> array(2) { ["status"]=> bool(false) ["message"]=> string(41) "[Error] ファイルが存在しません" } }
PHPを勉強したくてmac osx + Mamp + Eclipse(PDT) + xdebug にてPHP開発環境を構築しようとしているのですがデバック実行時にブレークポイントでポインタが止まらず、
最初の行でとまりその後、ステップオーバーを押してもポインタが動きません。

うまく機能するにはどうのようにしたらいいのかご教示いただけないでしょうか
はじめまして、こんにちわ☆
最近PHPをはじめて、素敵なコミュがあったので参加しましたウインク

さっそくなのですが、PHPで日本語を出力しようとすると、文字化けします。
アルファベットや数字は問題なく出力されます。

いろいろ調べているのですが、原因がわかりません。
どのようにすれば問題が解決されるのか、ご教示いただけると嬉しいです!

よろしくお願いしますウインク

環境:
OS→Windows7
XAMPPインストール済み
と、思ったら、サクラエディタで保存する際に文字コードをUTF-8にしてなかっただけでした。。
ちゃんと出力されました!

HTMLでも同じ失敗をしてるんで、気をつけないと。。。ウインク
初めまして。
こちらのサイト http://blog.shuffleee.com/1772/
サムネイルを作成するPHPのソースの下に問題点として DBにリサイズした項目をあらかじめ入力と書かれておりまして
DB上のphpMyadminを開いておりますが、どのように入力するかがさっぱりわからず力をお借りしたく書き込みさせていただきました。
また、現在DBにはインフォメーションスキーマと自分のサイトに利用している2つあるのみなのですが、
このリサイズ用の入力には新しくDBを作成しなければならないのでしょうか?

サーバーはさくらインターネット スタンダード を利用しております。
>>[891]

例えば100px200pxの画像の一辺を最大50pxのサムネイルを表示したいとします。
サムネイルを表示するソースが上記のもので問題ないかと思いますが、このままのソースですと画像は表示されないかと思います。

ImageJPEG($new_image);
header('Content-type: image/jpeg');
} elseif ($file_type === "gif") {
header('Content-type: image/gif');
ImageGIF($new_image);・・・

というようにContent-typeを指定をすることを前提にします。


本題に入りまして、この画像を呼び出すときは

<img src="thumbnail?url=ここに実寸サイズの画像URL&width=150">


というタグを書くことになるのですが、このタグにwidthとheightがないため「画像は表示できるが読み込み時間が掛かる」といっているのかと思います。

ただこのWidthとheightの値は上記のサムネイルを作成するプログラムを通った時に計算されるため、データベース(phpMyAdmin)内に新しいテーブル(例:imgsizeなど)を作り、カラムを「file_name」「width」「height」とします。

サムネイルを作成する際に新しい画像のWidth・Height・及びファイル名ををDBに保存⇒画像をimgタグ内にファイル名を参照してWidth、Heightに代入 という形になると思います。


(例)aaaa.jpegという幅100px X 高さ200px の画像があり、長辺を50pxに合わせるとき、DBには

file_name │ width │ height
aaaa.jepg    50    100

が保存され、imgタグ側では「file_name」を参照してwidthとheightを探します。


ただこの方法にはデメリットがあります。

・1回目はサイズがDBにないためWidth・heightが空になること
 ⇒初回のみ表示に時間が掛かる可能性があります(でも遅延の度合いは軽微です)
・同じ名前のファイル名は使えないこと

画像が膨大になったときDBにwidth・heightを探しにいくか、それともimgタグのwidth・heightを指定しないかどっちが効率が良いのかはなんとも言えませんが・・・汗


上記のようなイメージの仕組みで問題なかったでしょうか?
>>[893]
返信ありがとうございます。
拝見しているうちに私の思っていたものとは違うものなのだと分かりました。
また、DBに書き込む仕組みもよく理解していないため、もう一度よく勉強して
再度似たような仕組みを構築できないか試してみようと思います。
この度はありがとうございました。
>>[895]

ランダムの数字は完全ランダム(例:1〜100万など)で宜しかったでしょうか?
または特定のリスト("3391152" "2544932" "5149240"のいずれか)が存在しますでしょうか?

前者の場合は、
if (function_exists('dfrads')) ?>
<?php if (function_exists('dfrads')) { echo dfrads("3391152"); } ?>

という箇所を、

if (function_exists('dfrads')) ?>
<?php
$number =mt_rand();
if (function_exists('dfrads')) {
echo dfrads($number);
}
?>

と記述すれば良いかと思います。



後者の場合は、

if (function_exists('dfrads')) ?>
<?php
$numbers_array =array('3391152','2544932','5149240');
$number = $numbers_array[array_rand($numbers_array)]
if (function_exists('dfrads')) {
echo dfrads($number);
}
?>

で良いかと思います。
はじめましてー!
よろしくお願いします!
>>[899]
がると申します。

上述、端的には「httpd.confの設定」の問題ですね。
「httpd.conf php xampp 有効」とかのキーワードで検索すると、情報が出てくるかと思いますので、お試しください。



はじめまして。PHP、最近触り始めの初心者です。よろしくお願いいたします。

HTML5にて、問合せフォームを作成し、PHPにてメールを送信しておりましたが
最近英語のみのメールが多くなり、対策を考えておりました。

名前入力欄、本文欄に日本語が使用されていない場合、echo dieにて処理から
抜けるサンプルをネットで見て、参考にさせて頂きました。
処理自体は問題無く稼動したのですが、正規表現の指定部分にてデリミタと言うのでしょうか?
「/」の意味を教えていただきたいです。

流れとしては
処理1) 名前入力欄にて英数字使用時には、処理から抜ける
処理2) 上記処理1)直後、本文欄に日本語が入っていない時にも、処理から抜ける
という流れになります。


処理1:
mb_regex_encoding('UTF-8');
if(mb_ereg('[0-9a-zA-Z]',$field_name) == '1') {
header("content-type:text/html;charset=UTF-8");
echo die("名前欄へは日本語にて記入をお願い致します");
}

処理2:
if(preg_match('/[ぁ-ん]/',$field_message) == '0' ) {
header("content-type:text/html;charset=UTF-8");
echo die("本文欄へは日本語にて記入をお願い致します");
}

処理1の正規表現 ('[0-9a-zA-Z]',$field_name) == '1')は 「/」無し、
処理2の正規表現 ('/[ぁ-ん]/',$field_message) == '0' )は「/」有り
この違いが分かりません。

試しに処理1の正規表現に「/」を付け、('/[0-9a-zA-Z]/',・・・)と、テストしましたが
エラーになりました。

よろしくお願いいたします
>>[901]
くらげと申します。

そもそも、mb_eregとpreg_matchの違いかと思います。
自分はまだ未熟なため細かい部分までは説明できませんが、
説明している記事がありましたので、リンクを貼らせて頂きます。

http://ja.stackoverflow.com/questions/5760/ereg-match%E3%81%A8preg-match%E3%81%AE%E9%81%95%E3%81%84%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E6%95%99%E3%81%88%E3%81%A6%E4%B8%8B%E3%81%95%E3%81%84
>>[902]
さっそくの回答、ありがとうございます。
なるほど、mb_eregとpreg_matchの違いなんですね。
前もってそれぞれググってみたんですが、デリミタの事まで記載されているページを
発見できなかったので、謎でした。
正規表現の範囲部分にマルチバイトを使う場合はデリミタ必要なのか??とか、考えたりも
してました。
ereg 系も非推奨としったので、処理1もpreg_matchで作り直しします。

ありがとうございましたー
PHPエンジニアを目指しています、wordpress/MY SQLを使用してWEBサイトを構築したいです、AS400/RPGを20年くらい、COBOLが3年くらいの経験を持っていますが、ブランクが10年くらい有ります、ミドルの世代です、マイミクお願いします(^◇^)
はじめまして。社会から8年外れた愚か者です。
PHPの習得を期に社会に出たいと思うcider610と申します。
早速、テキストを買ってカタカタとキーボードを叩いております。
早々に「ヒアドキュメント」で躓いてしまっています。もう少し、ない頭を絞って考えて、ダメなようならここで質問させていただきますので、よろしくお願いいたします。
迷惑な存在ですが、お見知りおきを。
お世話になります、新入りのcider610と申します。

自己紹介でも触れましたが、ヒアドキュメントの壁を壊せずにいます。どなたかお教えいただけないでしょうか? 本当に激初心者で申し訳ないのですが、よろしくお願いいたします。
コードは以下の通りです。(技術評論社のテキストと同じです)

<?php
head('Content-type: text/html; charset=UTF-8);
?>
<html>
<body>
<?php
$name = 'ラーメン';
$str = <<<EOD
お昼になりました。
$name を食べよう。
EOD;

echo $str;
?>
</body>
</html>

というものです。これをPHPのアドレスでgoogleに貼ると、「unexpected end of file」というメッセージでエラーが出てしまいます。さしずめ“予期せぬファイルの終わり方”といったところでしょうか?
新入りでぶしつけな質問、しかも、もしかしたら、1字違いだけとか手間だけとらせて「もっとテキストをお読み!」とか思われるかもしれませんが、何せ激初心者なので、どなたかお力添えいただければ幸いです。よろしくお願いいたします。
>>[906]
検証してないですが、パッと見だとド頭のheadの引数の文字列が閉じられてないのがまずそうです。
閉じかっこの前に「'」入れてみてください。

IDE使うと文法エラーは事前に拾ってくれますし
構文によって色分けをしてくれるエディターもあるので
是非とも導入をご検討くださいませ。
無料のツールでもかなり使えると思います。
>>[907]
貴重なアドバイスを頂き、ありがとうございました。無事修正できました。
今後はムダな質問をしてしまわないように注意します。重ねてありがとうございました。
すみません、自己解決しましたので質問を削除しました。
すみません、原因がディレクトリ名のところに余計な半角スペースが入っていたことが原因でした。
わかったところで「さぁ、どうしよう」というところですが、究明に努めますので、ありがとうございました。
半月ほど前に「PHP初級」という資格試験に合格したのですが、どれほどの価値があるのでしょうか?13000円に見あってますかね?
>>[915]

できました。ありがとうございます。

ログインすると、残り895件のコメントが見れるよ

mixiユーザー
ログインしてコメントしよう!

初心者PHP講座 更新情報

初心者PHP講座のメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング