トップページphp
1001コメント304KB

【PHP】下らねぇ質問はID出して書き込みやがれ 110

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2011/08/30(火) 17:23:31.78ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 109
http://hibari.2ch.net/test/read.cgi/php/1311803617/

◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0749nobodyさん2011/09/18(日) 09:41:41.68ID:???
質問です。

会社で作るツールの設計を依頼されているのですが、
前提条件として以下があります。
1.社員情報を管理するのですが、旧字体の名前の人がいるので、phpファイルをutf8で作りたい
2.Unixのサーバ(FreeBSd)で、jvimで普通にファイルを作成すると、eucで作成される。

このよに、utf8のシステムを作りたいのに、サーバがeucという場合、考え方として、
1.旧字体の利用をあきらめる
2.utf8のサーバーを用意する。
などが考えられますが、
どのようにするべきでしょうか?

長文質問すいません。

0750nobodyさん2011/09/18(日) 09:46:09.57ID:???
ubuntuを使う
0751nobodyさん2011/09/18(日) 09:53:24.62ID:???
jvim使わない
若しくは.vimrcのスケルトンを設置しておき基本文字コードをutf8にする
既に作成されたユーザには.vimrcを配布するか
カスタマイズしてる人には文字コード設定してもらう
0752nobodyさん2011/09/18(日) 09:59:38.34ID:???
業務システムならJavaがいいと思う
0753nobodyさん2011/09/18(日) 10:12:23.62ID:???
>>748
Ajaxって言語じゃなくて技術のことをさしてるんじゃなかった?
0754nobodyさん2011/09/18(日) 10:29:50.77ID:???
みんなyii frameworkやろうぜ
Ajax(JQuery)簡単に使えるし、Ruby on Railsのパクリ要素満載で簡単にWEBアプリ作れちゃうぜ
0755nobodyさん2011/09/18(日) 11:24:37.56ID:???
PHPってコンパイルできないの?
0756nobodyさん2011/09/18(日) 11:28:33.91ID:???
できるよ
0757nobodyさん2011/09/18(日) 13:11:46.42ID:???
じゃぁやれば?
0758nobodyさん2011/09/18(日) 13:25:58.70ID:???
うん
0759nobodyさん2011/09/18(日) 15:42:18.70ID:???
できました。
0760nobodyさん2011/09/18(日) 17:30:11.14ID:???
お安い御用です。
0761nobodyさん2011/09/18(日) 17:44:52.42ID:???
よくわかるPHPの教科書って本初心者におすすめ
プログラミング未経験者でもわかりやすく解説してていいよ
著者がUSTで解説もしてる
http://www.ustream.tv/recorded/9549130
0762nobodyさん2011/09/18(日) 19:55:53.15ID:n9xCpy+Z
>>740
便利なページの紹介ありがとうございます
0763nobodyさん2011/09/18(日) 21:07:31.42ID:yb5GOCyK
質問です
重いファイルをアップロードさせて「現在アップロード中です」と表示させるにはどうしたら良いでしょうか?
0764nobodyさん2011/09/18(日) 21:46:30.77ID:aXXfuI0S
http://q.hatena.ne.jp/1177382494
こんなんどうでしょうか?
0765nobodyさん2011/09/19(月) 01:18:09.75ID:???
phpで作ったSNSやブログサービスを始める場合は
何か許可や資格が欲しいのでしょうか?
他人のメールアドレスなどの個人情報に扱うは
どのようになってるのですか?
0766nobodyさん2011/09/19(月) 01:22:30.65ID:fUsyWJMl
phpで作ったSNSやブログサービスを始める場合は
何か許可や資格が欲しいのでしょうか?
他人のメールアドレスなどの個人情報に扱うは
どのようになってるのですか?
0767nobodyさん2011/09/19(月) 01:24:16.75ID:???
荒らすなよカスが
0768nobodyさん2011/09/19(月) 01:56:57.92ID:???
許可や資格なんぞ不要。
仕様ソフトによって使用許諾は異なる。それぞれのソフトのドキュメント読め。
5000件以上の個人情報を扱う場合は、個人情報保護法の刑事罰の対象になる。
0769nobodyさん2011/09/19(月) 02:14:52.63ID:???
>>768
分かりました許可とかはいらなかったんですね。
0770nobodyさん2011/09/19(月) 02:37:28.85ID:???
SNSはプロパイダーにあたるので総務大臣の許可が必要
0771nobodyさん2011/09/19(月) 03:23:55.89ID:???
こいつ最高にアホ
0772nobodyさん2011/09/19(月) 09:55:12.75ID:???
個人情報漏れは損害賠償されてもカスみたいなもんだからな
どんどんやっちゃえ
0773nobodyさん2011/09/19(月) 12:29:31.28ID:???
どうどう
0774nobodyさん2011/09/19(月) 17:34:04.44ID:???
お安い御用です。
0775nobodyさん2011/09/19(月) 21:51:32.08ID:eFmgnthE
http://www.php.net/manual/ja/reserved.constants.php
のように定義済み定数でピリオドを示す定数を探しているのですが、どれでしょうか?
PATH_SEPARATORが'/'とかは分かるのですが

また、これらの説明が抜けている定数が多いですが、どこか説明させているサイトとかないでしょうか?
0776nobodyさん2011/09/19(月) 21:59:33.46ID:???
ピリオドはOS間で挙動異なるのか?
そんな定数ないとおもうが
0777nobodyさん2011/09/19(月) 22:27:35.72ID:???
ピリオド?
なんのことだ?と思ったが
./a.txt とか ../a.txt ってな感じのピリオドのことだろう
だとしたらまったくの見当違いだ
答えてやりたいところだがもう少し悩んでいるがいい
0778nobodyさん2011/09/20(火) 00:02:55.27ID:???
エスパーすげえな
0779nobodyさん2011/09/20(火) 00:11:17.30ID:???
ピリオドはピリオドなのでそのまま使いなさい
0780nobodyさん2011/09/20(火) 05:20:29.51ID:???
そういうことではなくて、ピリオドを示す定数が知りたいのですが
0781nobodyさん2011/09/20(火) 05:30:40.43ID:???
>>780
ない
パスの区切り文字、ディレクトリの区切り文字、改行コードetcetc
お前の言うピリオドの「役割」はなんなんだよ
0782nobodyさん2011/09/20(火) 05:37:11.40ID:???
/の定数があるのは \ と / がwindowsとmacで違うからであって
.はどれも同じ

. の定数があったらAの定数も必要になるだろ
0783nobodyさん2011/09/20(火) 08:46:01.11ID:???
定義済み定数なんて知ってどうするんだろうか
PHPマニアだからPHPのことは隅々まで知らないと
気がすまないとでもいうのだろうか?
0784nobodyさん2011/09/20(火) 09:45:02.60ID:???
そりゃ定数あるなら定数使うに越したことはない
突込み所は'a'を表す定数があるかと聞いているに等しいって所だろ
0785nobodyさん2011/09/20(火) 11:48:45.73ID:???
PHPの勉強をしたいのですが、パソコン内部で文法があってるかどうかチェックする方法ってないですか?
レンタルスペースにいきなり乗っけて間違えたとして、万が一他の方の迷惑になるのは避けたいと思いまして・・・
0786nobodyさん2011/09/20(火) 11:52:24.01ID:???
>>785
>>1
0787nobodyさん2011/09/20(火) 11:58:22.29ID:???
PHPのインストール
0788nobodyさん2011/09/20(火) 11:58:30.75ID:Y5iB+vf4
あ、ID出してなかったですね
改めて・・・
PHPの勉強をしたいのですが、パソコン内部で文法があってるかどうかチェックする方法ってないですか?
レンタルスペースで記述を間違えてしまって、万が一他の方の迷惑になるのは避けたいんです


でもこの質問ってここでいいんでしょうか?
違いましたら誘導お願いします
0789nobodyさん2011/09/20(火) 12:08:30.06ID:???
文法が違っていればプログラムは動かせない
バグは自分でテストしないと見つけられない
(プログラムはプログラマが書いたとおりに動くもので、
プログラムの動きが正常な動作かバグであるかは人間が判断するものだから)
そして、バグがないことを証明する方法はない(悪魔の証明)
0790nobodyさん2011/09/20(火) 12:18:25.27ID:???
>>788
構文チェックだけならphp -l path/to/hoge.php
無限ループだとかすさまじく重いだとかは事前のチェックは無理
0791nobodyさん2011/09/20(火) 12:25:27.23ID:Y5iB+vf4
>>789
それは実際にやるしか方法がないってことですか?
>>790
凄まじく重い・・・
ツイッターでEasyBotterを使いたくて、その前にチェックしたいのが目的です
これくらいだったら大丈夫なのでしょうか?
0792nobodyさん2011/09/20(火) 12:29:32.84ID:???
自分のPCで動かせよ。そしたら文法ちがっても迷惑かからない。
0793nobodyさん2011/09/20(火) 12:32:32.19ID:???
デバッガのことを聞いてんじゃないの?
0794nobodyさん2011/09/20(火) 12:43:34.88ID:???
>>788
レンタルスペースと同じ環境を作ってテストする。
仮想マシンも無料。OSもどうせ無料のLinuxとかFreeBSDでしょ?
0795nobodyさん2011/09/20(火) 12:46:44.92ID:Y5iB+vf4
お応えいただいた方々、ありがとうございます(一括でスイマセン)
まずもっと基本からの勉強が必要なようですね・・・
正直生活は今キツイですが、雑誌でも買って基本から勉強するとします
0796nobodyさん2011/09/20(火) 12:51:35.77ID:???
>>795
http://www.apachefriends.org/jp/xampp.html
自分のPC内に環境作ってテストするのが一番良いよ
0797nobodyさん2011/09/20(火) 12:55:21.09ID:Y5iB+vf4
>>796
ありがとうございます!
これで迷惑かけずに勉強できそうです
0798nobodyさん2011/09/20(火) 13:00:44.87ID:???
構文ミスなど致命的なエラー(fatal error)の場合はプログラムの実行が中止される

エラーだけどプログラムの実行はつづけられる場合はerror_reporting()関数の設定で
warning やnoticeというエラー文が表示される
これはローカルのテスト中は表示させておくのがいいが、
実際の運用ではエラーメッセージを一切表示させないようにする
(セキュリティ上問題がある内容が外部に表示されてしまうのを防ぐため)
その場合のエラー報告はサーバのログで確認する

無限ループは、PHPの設定ファイルでプログラムの実行時間が限定されているため、
それをオーバーするとプログラムの実行が止まるが、
それに頼らず、無限ループをしないようにプログラム内できちんとチェックしておく
0799nobodyさん2011/09/20(火) 14:00:00.67ID:???
無限ループは美しい!
0800nobodyさん2011/09/20(火) 16:20:41.83ID:???
10 goto 10
とか
10 run

を思い出した
0801nobodyさん2011/09/20(火) 16:24:58.91ID:???
10 CLS
20 DIM A$(10)
30 FOR B$ = 1 TO 10
40 PRINT B$,
50 NEXT
0802nobodyさん2011/09/20(火) 19:39:30.21ID:lfjrrv56
phpで

<?php
echo 'Hello, world!';
exit;
?>
とかやるときexit;とか入れてなかったんですが
入れたほうがいいんでしょうか?
最後に入れてないと何か問題発生したりするんでしょうか?
0803nobodyさん2011/09/20(火) 19:49:23.45ID:???
>>802
入れたらそこでスクリプトが終了する。
入れなかったら最後まで実行(解釈)される。
好きにしろ。

例えばrequireで読み込まれるスクリプトの最後にexitが入ってたらそこで終了しちゃう。
あるいはデバッグのため途中にわざとexitを入れてテストすることもある。
0804nobodyさん2011/09/20(火) 19:50:34.77ID:???
処理の最後に入れる必要があるかということならねーな。
0805nobodyさん2011/09/20(火) 19:51:11.83ID:lfjrrv56
んなるほど、ありがとうございます
0806nobodyさん2011/09/20(火) 19:53:02.38ID:???
ただ、exitを入れない場合、?>の後に改行とかスペースが入ってると
それを出力しちゃうから、それを避けるために敢えてexitを入れることはある。
0807nobodyさん2011/09/20(火) 20:02:57.03ID:lfjrrv56
あんま気にしなくていいって事ですね
メモリとかの問題で最後にいれないとヤバイのかなと不安になってました、あざっす
0808nobodyさん2011/09/20(火) 20:21:30.09ID:+cR/U5eK
Perlの場合は他のWebサイトからコンテンツ(特にHTML)内容を取得して保存とか出来るようですけど、PHPの場合ってそういうの出来ますか?
コマンドモードがあるにせよ、PHPは基本はブラウザからの挙動が主な反面、Perlはスクリプトからそういうの作れると思うのですが、PHPではどうなのでしょうか?
0809nobodyさん2011/09/20(火) 20:23:37.06ID:???
>>808
http://php.net/manual/ja/function.file-get-contents.php
http://www.php.net/manual/ja/function.file-put-contents.php

PerlもPHPも動作の基本は変わらんよ
0810nobodyさん2011/09/20(火) 20:26:45.10ID:???
ネットにつなげないなら、ウェブ言語と言えない。ただのスクリプト言語だろ。
ネットにつながるからスクリプト言語から昇格するんだ。
0811nobodyさん2011/09/20(火) 20:29:01.83ID:???
ウェブ言語とか、言葉を勝手に作るなボケ!
0812nobodyさん2011/09/20(火) 20:39:56.48ID:???

Webプログラミングでは、サーバ側で動作するプログラムとクライアント側で動作するプログラムの両方を開発しなければならない。

]それぞれの側のプログラムで利用される技術は異なり、さらにAjaxを採用するプログラムであれば、

サーバ側・クライアント側のプログラムが複雑に連携して機能を実現するので、それぞれの側のプログラムを別々に開発することが難しく、

プログラマには両方の側で用いられる技術を深く習得することが求められる。

サーバ側でのプログラミングは、ウェブサーバ上で動くプログラミング言語を用いて行われる。

このプログラミングは「サーバ・サイド・プログラミング」とも呼ばれる。

例としてサーバサイトにつかう言語と環境としてCGI + PerlやPHP、Ruby、

Java Servlet + JSP + Enterprise JavaBeans + Spring Framework + Apache Struts(Java EE)、.NET(ASP.NET(C#,VB.NET))などが挙げられる。

Webプログラミング - Wikipedia
08138082011/09/20(火) 20:58:23.64ID:???
ありがとうございます
ではPHPとPerlの違いはWebのプログラムでは差異はないということですね
Linuxでのインストールとかで使われるスクリプトではPerlに分があるようですが
0814nobodyさん2011/09/20(火) 23:03:08.90ID:???
お安い御用です。
08151/22011/09/20(火) 23:59:28.45ID:LY2lMq1E
やってみた

少し前に話題に上がった、echo と print どっちが早いのか
シングルクオーテーションと、ダブルクオーテーションでは、どっちが早いのか

ソース及び結果をグラフ化した画像:
ttp://www.dotup.org/uploda/www.dotup.org2047559.zip

やったこと:
コマンドラインより print_and_echo.php を実行

結果:
echo でシングルクオーテーションを使って表示したのが1番早い。
但し、その差はとても小さい。
(グラフ print_and_echo.jpg)
08162/22011/09/21(水) 00:00:17.79ID:???
実行環境:
Pentium4 2.8GHz HT対応(古くてスマンw)
debian squeeze を実機にインストールし、php (version 5.3.3-7+squeeze3)をインストール
デスクトップ環境はインストールせずに、phpスクリプトをコマンドラインより実行

ソース内容:
以下の4つのパターンを使用して、アルファベット a-z を 1万回表示

1. echoを使って表示、アルファベットをシングルクオーテーションで囲む
2. echo               ダブルクオーテーション
3. printを使って表示、アルファベットをシングルクオーテーションで囲む
4. print               ダブルクオーテーション

実行する順序によって、実行速度が変わる可能性を考慮し、上記パターンをランダムで実行する。
さらに繰り返し実行する事により、実行速度が変化するのかを確かめる為、上記を100回繰り返し実行する。

グラフを見ると、実行速度が跳ね上がる(遅くなる)箇所が有る。何故この様な事が起こるのか?
0817nobodyさん2011/09/21(水) 00:39:25.44ID:???
何を今更って感じだわ
0818nobodyさん2011/09/21(水) 00:58:18.52ID:???
>>815-816
その実験結果よりもその実験に費やした時間が無駄だわw
俺の時間じゃないからいいけど
0819nobodyさん2011/09/21(水) 03:28:32.74ID:???
>>813
HTTPに特化してるPHPをシェルスクリプトとして使う必要性がないからであって
作れないという訳ではない

$ cat a.php
#!/usr/bin/php
<?php
$url = $argv[1];
$doc = new DOMDocument();
$doc->loadHTMLFile($url);
$xpath = new DOMXPath($doc);
foreach ($xpath->query('//img[@src]') as $img) {
echo $img->attributes->getNamedItem('src')->value, PHP_EOL;
}
$ php a.php http://www.example.com/
/_img/iana-logo-pageheader.png
/_img/icann-logo-micro.png

>>815
次からはソースを読めば無駄な時間を過ごさずに済むぞ
https://svn.php.net/repository/php/php-src/branches/PHP_5_3/Zend/zend_language_parser.y
https://svn.php.net/repository/php/php-src/branches/PHP_5_3/Zend/zend_compile.c
https://svn.php.net/repository/php/php-src/branches/PHP_5_3/Zend/zend_vm_def.h

* どちらも関数ではなく文法の一部。
* echoは文として扱われ出力する式をカンマ区切りで複数受け取る事ができる。
* printは式として扱われ出力する式を一つだけ受け取る事ができ、戻り値として 1 を返す。
* 処理時間はprintが「極僅かに」遅い。printはechoに処理を委譲するのと戻り値があるため。
結論から言えば式として扱う必要がなければprintを使う意味はない。
0820nobodyさん2011/09/21(水) 03:44:28.89ID:???
何を今更って感じだわ
0821nobodyさん2011/09/21(水) 03:45:42.29ID:???
>>740
P131の本文1〜2行目(2刷りにて修正)

誤:Fig2 のように横軸を「列」、縦軸を「行」などと呼びますが、
正:Fig2 のように横軸を「行」、縦軸を「列」などと呼びますが、

これって元がどうなんだろ。
図に記載されてる横軸と縦軸がすでに逆ってことだろうか
0822nobodyさん2011/09/21(水) 05:05:02.07ID:???
質問
コマンドラインで実行中スクロールバーをマウスで動かしてるとプログラムが停止するけど
おかしくないですか?
0823nobodyさん2011/09/21(水) 06:19:22.40ID:???
>>813
インストールに使われるスクリプトならpythonに分があるように思わないか
0824nobodyさん2011/09/21(水) 08:36:02.67ID:???
>>813
ずっとperl使ってたが、PHPすげー便利じゃん。
これからはPHPを使う。
0825nobodyさん2011/09/21(水) 11:00:29.26ID:8+iCvqLi
ファイルの変数$_FILESについてですが、いろんなサイトを見ていたら

$_FILES[パラメータ名]['name'] だったり $_FILES[パラメータ名][name] だったりとまちまちです

どっちを使ったら良いんでしょうか?
というか、プロパティ?は''で囲むべきですよね?
0826nobodyさん2011/09/21(水) 11:22:32.28ID:???
囲むべき
0827nobodyさん2011/09/21(水) 11:26:29.67ID:???
>>825
PHPはスーパー全自動だから、クォートされてないキーは定数として評価されたあと、
その定数が存在しない場合は文字列として扱われる

http://jp2.php.net/manual/ja/language.types.array.php
0828nobodyさん2011/09/21(水) 11:27:14.98ID:???
>>825
クォートなしの記述は昔の名残
http://www.php.net/manual/ja/language.types.array.php#language.types.array.donts
0829nobodyさん2011/09/21(水) 11:27:59.06ID:???
おっと被ったスマン
0830nobodyさん2011/09/21(水) 11:31:09.34ID:???
被ったままは不潔です
0831nobodyさん2011/09/21(水) 11:47:37.95ID:???
毎日煮沸消毒してるから大丈夫。
0832nobodyさん2011/09/21(水) 11:54:32.24ID:???
一回煮沸すればもう剥けた状態で固定されそうだがw
0833nobodyさん2011/09/21(水) 12:45:50.21ID:???
古典の鼻を茹でる話を思い出した
0834nobodyさん2011/09/21(水) 12:58:59.95ID:8+iCvqLi
>>826-828
ありがとうございました
0835nobodyさん2011/09/21(水) 14:06:27.53ID:???
お安い御用です。
0836nobodyさん2011/09/21(水) 14:57:20.16ID:???
芥川って古典でならうっけ?
0837nobodyさん2011/09/21(水) 17:37:52.74ID:???
お絵かきサイトから画像をとって表示しようと思った場合どうすればいいんですか?
HTML文取ってきて正規表現でURLの部分とるとかですか?
あとログインが必要なサイトの場合はどうすればいいんでしょうか
0838nobodyさん2011/09/21(水) 17:47:47.88ID:???
PHP 5.4.0 beta1でphpサーバー機能使ってる時、http://localhost/でindex.htmlが無い時index.phpを読み込んでくれません
Apacheに入れてた時はApacheから設定出来たけど、php単体ではどこから設定したらよいのでしょうか
win7 64bitです
0839nobodyさん2011/09/21(水) 18:01:11.18ID:???
phpサーバー機能ってなんだ?
素直にサーバーいれて動作チェックすればいいじゃん。
0840nobodyさん2011/09/21(水) 18:10:08.09ID:???
エスパーさん、こっちこっち
08418382011/09/21(水) 18:23:40.45ID:???
ごめんなさい正式名称を調べてませんでした
http://php.net/manual/ja/features.commandline.webserver.php のビルトインウェブサーバー です
php -S localhost:80 -t "C:\_MyProgram\php\docRoot"
で立ち上げています。このマニュアルには
>>URI リクエストにファイルが含まれない場合は、指定したディレクトリにある index.php あるいは index.html を返します。どちらも存在しない場合はレスポンスコード 404 を返します。
とあるのに、index.phpしか存在しないディレクトリに http://localhost/ でアクセスした時、コンソールには
PHP 5.4.0beta1 Development Server started at Wed Sep 21 18:19:36 2011
Listening on localhost:80
Document root is C:\_MyProgram\php\docRoot
Press Ctrl-C to quit.
[Wed Sep 21 18:19:38 2011] ::1:54834 [200]: /index.php
[Wed Sep 21 18:19:38 2011] ::1:54835 [200]: /index.php?=PHPE9568F34-D428-11d2-A769-00AA001ACF42
[Wed Sep 21 18:19:38 2011] ::1:54836 [200]: /index.php?=PHPE9568F35-D428-11d2-A769-00AA001ACF42
[Wed Sep 21 18:19:39 2011] ::1:54838 [404]: /favicon.ico - No such file or directory
[Wed Sep 21 18:19:40 2011] ::1:54843 [404]: / - No such file or directory
[Wed Sep 21 18:19:40 2011] ::1:54844 [404]: /favicon.ico - No such file or directory
と、表示され
Not Found
The requested resource / was not found on this server.
とブラウザに表示されます
08428382011/09/21(水) 18:25:08.27ID:???
>>841のコンソールに表示されるテキストは
PHP 5.4.0beta1 Development Server started at Wed Sep 21 18:24:14 2011
Listening on localhost:80
Document root is C:\_MyProgram\php\docRoot
Press Ctrl-C to quit.
[Wed Sep 21 18:24:15 2011] ::1:55038 [404]: / - No such file or directory
[Wed Sep 21 18:24:15 2011] ::1:55039 [404]: /favicon.ico - No such file or directory

の間違いでした。>>841http://localhost/index.phpを指定した時の物でした
0843nobodyさん2011/09/21(水) 18:51:25.69ID:WzjWBGg6
画像アップロード時の画像ファイル名が半角英数字や記号以外に日本語などを使っているときにエラーメッセージを出したいです。
正規表現で弾けばいいのかなと思ったんですが、こういうときってどういう正規表現を書けばいいんですか?
日本語正規表現で検索してもこれだっていうのがなかったのでどなたか教えてください。

ちなみに文字コードはUTF-8でデータベースには文字化けしないでファイル名が入るんですが
日本語のファイル名だと画像ディレクトリに送ったファイルが文字化けしてしてしまいます。
また正規表現で弾く以外に解決法があれば教えて下さい。

環境はPHP 5 mysql windowsXPです。
XAMMPでローカルでやってます。
0844nobodyさん2011/09/21(水) 19:29:03.72ID:X6W74pr3
いつもお世話になっております
見よう見まねでページャを作ってみました。以下ソース
for($n = 1; $n <= $pages; $n++ ) {
if($n == $page){
$link .= '<li><div class=""><div class="">'.$n.'</div></div></li>';
} else {
$link .= '<li><div class=""><a href="'.$script.'?page='. $n .'">'.$n.'</a></div></li>';
}
このままだと50ページあったら1〜50までダーッと表示されてしまいます。↓
123456789101112131415161171819202122232425...
これを、任意の数までしか表示されないようにするにはどうすればいいでしょうか。こんな感じです↓
12345 5ページ目まで行くと 34567  
このように、ある程度まで行くと中心に現在のページがくるようにもしたいです。つまるところのxvideosのページャです
xvideos → http://www.xvideos.com/
よろしくお願いします
0845nobodyさん2011/09/21(水) 19:33:22.06ID:???
>>836
芥川の元ネタな
芥川のリメイクより古文のオリジナルを習う方が多いんじゃないかなぁ

#スレチすまそ
0846nobodyさん2011/09/21(水) 19:41:36.04ID:???
>>844
$first_page = $pages - ($pages - 1) % 50;
$last_page = $first_page + 49;
for($n = $first_page; $n <= $last_pages; $n++ ) {
・・・
}
0847nobodyさん2011/09/21(水) 19:51:35.67ID:???
>>837
DOM使うと楽
文法違反のサイトなら読み込む時だけエラー抑制
ログインは普通にログインして取ればいい

>>843
半角でもURLに使えん文字はあるよ。 [^URLに使える文字] で弾けば?
もしくは文字コード揃えてパーセントエンコーディングするか
0848nobodyさん2011/09/21(水) 20:46:54.04ID:WzjWBGg6
>>847
ありがとうございます!

("/[^-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]/")

とりあえず上のように書いたら、日本語ファイル名は弾かれて、普通の半角英数字のファイル名はアップロードできるようになりました。
■ このスレッドは過去ログ倉庫に格納されています