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

【PHP】下らねぇ質問はここに書き込みやがれ 52

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2007/08/11(土) 10:08:03ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 51
http://pc11.2ch.net/test/read.cgi/php/1185521566/

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0116nobodyさん2007/08/13(月) 02:31:46ID:???
>>112
ファイル名は数字のみでもつかえるよ。
変数名のつけかたとごっちゃにしないで
0117nobodyさん2007/08/13(月) 02:33:38ID:???
>>115
まず君はどういうふうに動いてほしいのか。
現状、おかしくなってることを詳しく説明するところからはじめようか
0118nobodyさん2007/08/13(月) 02:37:15ID:???
>>100
file()は各行に改行コード付きっぱなし。
基本中の基本。
0119nobodyさん2007/08/13(月) 02:37:41ID:???
>>115
php.iniの設定でもないし、ローカルチェックで上手く言ってるわけでもないだろそれ。
もう一回確認しなさい。
0120nobodyさん2007/08/13(月) 02:40:23ID:???
もしかしてシスアドの勉強だったりしたのかな。

>>115
少ない情報から推測させてもらえば、おそらく文字コードの問題かと。
01211152007/08/13(月) 03:00:47ID:???
>>117
レスありがとうございます。
現状、ローカルでは画像をアップせずに更新ボタンを押すと、元々hiddenで入れておりましたデータがファイルへ書き込まれます。
ですが、サーバーへアップして動作確認をすると、画像をアップせずに更新ボタンを押すと、hiddenでに入れていたデータが書き込めず、$data["IMG1"]=""の状態になってしまいます。
>>119
ローカルではエラー無く動いてます。一応以下に簡略化していないデータを載せさせて頂きます。
<?PHP
$basedata="demo.jpg";
if($_POST){
$data=$_POST;
//画像をアップ
if($_FILES["IMG1"][tmp_name]){
$acp[1][0]=UPIMG();//ファイルをアップロードしてアップロードしたファイル名を返すユーザー定義関数です。
$acp[1][0]="アップ";
$data["IMG1"]=$acp[1][0];
}
//$data["IMG1"]をファイルへ書き込むユーザー定義関数です。
DataCHANGE($data["IMG1"]);

print "アップロードしたファイル名は".$data["IMG1"];
}
?>
<form method="post" action="index.php" enctype="multipart/form-data">
<input type="hidden" name="IMG1" value="<?=$basedata?>" />現在の画像<br />
新しく画像を選択して更新ボタンを押す、古い画像が置き換わります。<br />
<input type="file" name="IMG1" /><br />
<input type="submit" value="更新" />
</form>

申し訳ございませんが、ご教授のほどよろしくお願い致します。
0122nobodyさん2007/08/13(月) 03:09:47ID:???
>>121
<?=$basedata?>
まず鯖側の設定がこれで動くのかどうかチェック。
0123nobodyさん2007/08/13(月) 03:10:58ID:???
short_open_tagに対応してないに100ウォン
01241152007/08/13(月) 03:15:02ID:???
>>122
<?=$basedata?>は動作致します。ソースでもデータが入っておりました。
以下のようなテストファイルを作って動作確認をしてみましたが、やはり同様の結果でした。
<?PHP
$data=$_POST;
if($_FILES["IMG1"][tmp_name]){
$data["IMG1"]=$_FILES["IMG1"][tmp_name];
}
print_r($data);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
<html xmlns="http://www.w3.org/1999/xhtml";>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
<title>テスト</title>
</head>

<body>
<form method="post" enctype="multipart/form-data" action="index.php">
<input type="hidden" name="IMG1" value="img1" />
<input type="file" name="IMG1" value="" />
<input type="submit" />
</form>
</body>
</html>

0125nobodyさん2007/08/13(月) 03:16:25ID:???
>>124
それを実行するとローカルとサーバ側でどう出力されんの?
01261152007/08/13(月) 03:20:31ID:???
>>125
ローカルでは、
Array ( [IMG1] => img1 )
サーバーでは
Array ( )
です。

すみません。ローカルはPHP5でサーバーはPHP4でした、、、
ローカルをPHP4にするとやはりサーバーと同様の結果が返ってきましたorz
ですが、解決方法は解らないままです、、もともとPHP4では望んでいる処理はできないのでしょうか
0127nobodyさん2007/08/13(月) 03:27:20ID:???
うーん、バージョン4.いくつ?
あとifブロックの中に入っているのかいないのかを確認したほうがいいかも。
0128nobodyさん2007/08/13(月) 03:32:06ID:???
>>124
<input type="file" name="IMG1" value="" />
これvalue=""ってなってるの消したらどうなる?

解決法としてはhiddenタグ消してファイルがアップロードされたかどうか
チェックして無ければ$basedataを入れ込めばいいんじゃまいか?
01291152007/08/13(月) 03:34:51ID:???
>>127
PHPのバージョンは4.4です。
ifブロック無いにはデータは入って来ていませんでした。

試しにファイルを参照しない状態で送信して
<?PHP print_r($_POST); ?>を実行すると
配列内に何も入っておりませんでした、、、
01301152007/08/13(月) 03:37:38ID:???
>>128
valueを消しても動作は同様でした。
hiddenの値を消す、もしくはnameの値を違うのにするのは最終手段で有るのですが、
今後の為にも、出来ればそれ以外の方法をとれればと考えております。
0131nobodyさん2007/08/13(月) 04:28:28ID:???
>>115
なんじゃこれ。
同じnameを持ったデータを2個送信して、一方で自動的に値が上書きされることを期待してるわけ?
その場合の動作は保証されてないからやめた方がいいよ。
多くの環境で、それはtype=file側(後ろに記述した側)の方のデータしか残らず、
ファイルを何も選択しなければデータが空っぽになるだけで終わる。

期待した通りに動いているというローカルの環境の方がかなり特殊。
0132nobodyさん2007/08/13(月) 06:42:57ID:???
>>115
まずfileにvalue指定は効かないので要りません。
そしてhiddenの値も簡単に書き換えれるのでフォームでの指定は止めましょう、fileだけでいいです。
if(isset($_FILES['IMG1'])) {
switch($_FILES['IMG1']['error']) {
case UPLOAD_ERR_NO_FILE:
// アップロードされなかった時の処理
break;
case UPLOAD_ERR_OK:
// 正常にアップロードされた時の処理
break;
default:
// エラーが起きた時の処理
}
}
こんな感じで。
01331152007/08/13(月) 08:01:44ID:???
皆さんレスありがとうございました。
非常に参考になりました。
皆さんのレスを参考にさせて頂き、hiddenの値はHTML上には出さない事に致しました。

遅い時間にも関わらずレスをいただき、ありがとうございました。
0134nobodyさん2007/08/13(月) 10:44:52ID:k/wdFyv9
しょうもない質問すみません。
ctype〜とis〜の違いって何でしょ?
0135nobodyさん2007/08/13(月) 11:13:47ID:???
>>134
マニュアルに書いてある
0136nobodyさん2007/08/13(月) 11:21:58ID:???
>>122
わけわかめ。
今回の質問と的はずれてるし
0137702007/08/13(月) 12:38:14ID:06TZUW9Q
htmlの任意のタグの間の文字列を抜き出すのはどうすれば
0138nobodyさん2007/08/13(月) 12:40:51ID:???
htmlの任意のタグの間から文字列を取り出すのはどうすれば
0139nobodyさん2007/08/13(月) 12:41:04ID:???
Pear XML_HTMLSax
0140nobodyさん2007/08/13(月) 12:41:51ID:???
htmlの任意のタグの間の文字列をとりだすのはどうすれば
0141nobodyさん2007/08/13(月) 12:42:03ID:???
htmlの任意のタグの間から文字列を取り出すのはどうすれば
0142nobodyさん2007/08/13(月) 12:42:46ID:???
重複スマソ・・・
0143nobodyさん2007/08/13(月) 12:56:25ID:???
スマソってレベルじゃねーぞ
0144nobodyさん2007/08/13(月) 13:01:48ID:???
ごめんなさい、一部の重複は俺が加担してました
0145一日駅長2007/08/13(月) 13:07:24ID:uksFyExO
御久しぶりです。
アップロードしたあとアップ済み画像一覧みたいなのでどのページに
表示させるか選択、削除するのってどーすれば出来るんですか?おしえてくれ
0146nobodyさん2007/08/13(月) 13:11:23ID:???
>>145日本語でおk
0147nobodyさん2007/08/13(月) 14:08:18ID:???
php側でたてたフラグによってテンプレート側の表示を変えたいのですが
テンプレート側で分岐ができません。
どのようにすればいいでしょうか?
0148nobodyさん2007/08/13(月) 14:08:53ID:pjyFI4En
peclコマンドで何をインストールしようとしても
Did not understand the completion status returned from msdev.exe.
とエラーがでます。2つ前のスレに「コンパイラがない」と回答がありましたが
コンパイラはどうやったらインストールできるんでしょうか。
0149nobodyさん2007/08/13(月) 14:11:17ID:???
テンプレートって何?Smarty?分岐って何?
0150nobodyさん2007/08/13(月) 14:15:23ID:???
>>148
Visual C++ 6を買う
0151nobodyさん2007/08/13(月) 14:53:26ID:???
>>147
英語でおk
0152nobodyさん2007/08/13(月) 15:19:38ID:???
phpを使用したBASIC認証ページを作りたいのですが、できるのでしょうか?
概略は、.htpasswdと.htaccessを使用し、phpでログインページを作りたい
のですが、解説されているページがなく、にっちもさっちもいきません。
0153nobodyさん2007/08/13(月) 15:20:39ID:???
>>152
できます
0154nobodyさん2007/08/13(月) 15:24:00ID:???
そこでphpを使う意味が分からない
0155nobodyさん2007/08/13(月) 15:27:29ID:???
>154
どうもhtpassのために別ウィンドウを出すのが好きではなく、だったら認証ページで
って思ったです。
参考になるページなどがありましたら、教えてもらえると助かります。
0156nobodyさん2007/08/13(月) 15:28:39ID:???
>>155
そこで.htaccessを使う意味が分からない
0157nobodyさん2007/08/13(月) 15:30:55ID:???
>156
ディレクトリ毎に認証させたいためです。
あと、元々はhtaccessとhtpassで認証させていたので、あまりそこを
いじりたくないんです。
各ページにphpのフックをかぶせるのもありなんでしょうけど・・・
0158nobodyさん2007/08/13(月) 15:31:33ID:???
php関係ねーけど、これから勉強するならCGI(perl)・JSPどっちがお勧め?
仕事に役立てたいので普及しているPerlという選択が無難なのかな
個人的にはJSPとかpythonのが魅力的なんだけど
0159nobodyさん2007/08/13(月) 15:36:24ID:???
>>158
ここは”PHP”のくだスレです
0160nobodyさん2007/08/13(月) 15:40:08ID:???
BASIC認証のダイアログ出さないで認証させるのは今は無理じゃなかったっけ?
0161nobodyさん2007/08/13(月) 15:41:00ID:???
>>159
関係ねーって書いてるじゃん
0162nobodyさん2007/08/13(月) 15:43:17ID:???
>>161
関係ないのをなんでわざわざPHPスレで聞くんだ?
あと、お前は>>1すら読めないのか?
0163nobodyさん2007/08/13(月) 15:46:03ID:???
>>160
pearの認証を勉強してからこいクズ
0164nobodyさん2007/08/13(月) 16:10:45ID:???
「彼籠球的巨乳」之遍羅・吊金具、全裸時入浴的写人我電網是流出的
0165nobodyさん2007/08/13(月) 16:11:19ID:???
>>162
だってこのスレ大したことないじゃん
0166nobodyさん2007/08/13(月) 16:13:22ID:???
>>165
大したことないスレにくんなよwwwwwwww
0167nobodyさん2007/08/13(月) 16:35:57ID:???
ワラタ
0168nobodyさん2007/08/13(月) 16:47:40ID:???
米医学専門誌アヌルズ・オブ・プラスティック・サージェリー8月号に掲載された調査報告によると、豊胸手術を受けた女性の自殺率が一般平均の3倍に達することが分かった。1965〜93年に手術を受けた3527人を追跡調査した。
0169nobodyさん2007/08/13(月) 16:50:54ID:???
>>166
それもそうだな
0170nobodyさん2007/08/13(月) 16:54:53ID:???
>仕事に役立てたいので普及しているPerlという選択が無難なのかな
>仕事に役立てたいので普及しているPerlという選択が無難なのかな
>仕事に役立てたいので普及しているPerlという選択が無難なのかな
>仕事に役立てたいので普及しているPerlという選択が無難なのかな
0171nobodyさん2007/08/13(月) 16:57:32ID:???
>>170
目真っ赤だよ?どうしたの?
0172nobodyさん2007/08/13(月) 19:01:02ID:???
$fp = fopen("http://owata-net.com/";, "r");
これでhtmlをオープンした後に
<div id="test">と</div>に挟まれている文字列を抽出したいのですがどうすればいいですか
01731722007/08/13(月) 19:07:48ID:???
172ですが自己解決しました
0174nobodyさん2007/08/13(月) 19:37:52ID:???
Resource id #3ってなに?
0175nobodyさん2007/08/13(月) 19:39:41ID:???
IDが3のリソース型ってこと
01761722007/08/13(月) 21:12:06ID:???
氏ねよキチガイ
まだ解決してねえよバカ
0177nobodyさん2007/08/13(月) 21:15:10ID:???
>>176
>>1
0178nobodyさん2007/08/13(月) 21:41:15ID:???
教えてやろうと思ったのに、そういう態度だと気が失せるわ
0179nobodyさん2007/08/13(月) 21:48:33ID:???
お前に教える能力ないよ
0180nobodyさん2007/08/13(月) 21:49:03ID:???
別にいいならいいけど
0181nobodyさん2007/08/13(月) 21:49:43ID:???
はいはい、次の質問次の質問
01821722007/08/13(月) 21:58:47ID:???
答えられないんだよな?
だからってごかますなよw
まじでわらえるWW
0183nobodyさん2007/08/13(月) 22:13:23ID:???
いや〜そりゃクマったなあ〜
0184nobodyさん2007/08/13(月) 22:22:46ID:???
自演乙
0185nobodyさん2007/08/13(月) 22:28:01ID:???
>>172
これが答えられないようじゃ答える側には一生なれないわなぁ
0186nobodyさん2007/08/13(月) 22:35:33ID:???
知ってるが態度が気にくわない
01871722007/08/13(月) 22:45:21ID:???
べつに答える側になろうと一言もいってないんだが^^;
大丈夫?小学校からやりなおしなよ
0188nobodyさん2007/08/13(月) 22:51:21ID:???
<?php
$file = fopen("http://soccer.yahoo.co.jp/world/england/schedule/";, "r");
while (!feof($file)){
$line = fgets($file, 1024);
}
print($line);
fclose($file);
?>

どこがおかしい?
0189nobodyさん2007/08/13(月) 23:01:03ID:???
>>188
1すら読まない神経してるあたりじゃね?
0190nobodyさん2007/08/13(月) 23:06:04ID:???
>>188
何の為のwhilewwwwwwwwww
0191nobodyさん2007/08/13(月) 23:08:26ID:???
お前等結婚してくれ
ここをウォッチして早1年
ようやく俺にもtry catchの利点が分かったよ
レベルアップできたのはお前らのおかげだ、本当に有難う
0192nobodyさん2007/08/13(月) 23:21:58ID:???
>>191
結婚するためには、もっと男を満足させるおっぱいになるべきだ。
男を満足させないおっぱいは、functionがないphpと一緒だ。
0193nobodyさん2007/08/13(月) 23:35:58ID:???
ちょっと漠然とした話なんですが
とりあずWAMPでPHPからMYSQLの操作ができるようにまで、設定&インストールをしました。
iniやconf等の設定は、ネットで調べたり、本の通りにやりましたが
設定ファイル全体の30%ぐらいしか理解できてません
やっぱり設定ファイルの事は100%理解できて無いと、先に進まない方がいいでしょうか?
それとも、とりあえず進めて、分からない事がでたり、問題が起きた時に設定ファイルを見たほうがいいでしょうか。
0194nobodyさん2007/08/13(月) 23:42:10ID:???
一通り見ておけば?
そんな解読に数十分もかかるもんでもないし
ざっとドキュメント見て内容を把握しとけばいいかと
0195nobodyさん2007/08/13(月) 23:58:42ID:???
なるほど、一通り目を通しておきます。
といっても、結構理解できず詰まる所があったりして時間かかりそうだけど
今やりたい事に対してかなりいい解決策でした。ありがとう
0196nobodyさん2007/08/14(火) 00:04:55ID:YppttJHS
linuxの中に、わりと重要なファイルでも
otherにread権限付いてるものが結構多いですよね
これらのファイルもPHPから読めるってことですか?
なんか怖くないですか?
0197nobodyさん2007/08/14(火) 00:08:22ID:???
なにをいってるんだ
0198nobodyさん2007/08/14(火) 00:11:04ID:???
<a href="/r/cfp">Yahoo!カテゴリ</a>

これを正規表現であらわしてみてくれ
0199nobodyさん2007/08/14(火) 00:12:38ID:???
>>196
怖いと思ったら、パーミッションを落として運用すればいいと思うが。

>>198
.
0200nobodyさん2007/08/14(火) 00:12:39ID:???
(.+)
0201nobodyさん2007/08/14(火) 00:16:49ID:???
^<[a-z]\s.*/r/cfp.*</a>$
0202nobodyさん2007/08/14(火) 00:58:35ID:o+ec/oZr
教えてください。magpierssを弄っています。
rssをhtmlで出力する際にurlに特定の文字列を付加する方法がしりたいのですっ

http://hogehoge.com/
だったら
http://hogehoge.com/moe-1918
みたいに・・・

ソースの一部っす
$url = htmlspecialchars($item['link']);
echo "<dt><a href=\"$url\" target=\"_blank\">$title</a></dt>\n";

厨房です質問おかしかったらゴメン
0203nobodyさん2007/08/14(火) 01:02:10ID:???
なにいってるかわからん
0204nobodyさん2007/08/14(火) 01:19:26ID:???
意味がわからん
とりあえず
'http://hogehoge.com/' . 'moe-1918'
で付加できる
0205nobodyさん2007/08/14(火) 02:09:48ID:o+ec/oZr
202です。やっぱり質問変でしたか・・・

このurlって

$url = htmlspecialchars($item['link']);
echo "<dt><a href=\"$url\" target=\"_blank\">$title</a></dt>\n";

↑の行でrssから値を拾得して表示しているみたいなのですがぁ・・・

里田まい の質問みたいでゴメンなさい
0206nobodyさん2007/08/14(火) 02:13:17ID:???
>>205
いやだから、文字列連結は.(ドット)だってば
0207nobodyさん2007/08/14(火) 02:41:31ID:o+ec/oZr
202です。基本的な事理解していないのです・・・

でも、お陰さまで解決しましたぁ〜

$url = htmlspecialchars($item['link'].'moe-1918');
echo "<dt><a href=\"$url\" target=\"_blank\">$title</a></dt>\n";

コレで、欲しい出力結果が得られました。

アドバイスありがとうございました。(単純杉ではずかしぃッス)
0208nobodyさん2007/08/14(火) 03:53:29ID:???
^^;
0209nobodyさん2007/08/14(火) 07:05:17ID:???
文字列の自動応答システムを、このスレで今日ちょっと試してみるので、
変なレスがあったら無視してチョンマゲ。
多分、精度的にはイケていると思う。
0210nobodyさん2007/08/14(火) 07:13:40ID:???
しねぶた。最悪板とかでやれよカス。
0211nobodyさん2007/08/14(火) 09:27:06ID:brgLwtm0
ファイルが存在するか調べたいのですが、is_fileとfile_existsの使い分けがわかりません
file_existsはセーフモードでは制限かかるらしいのでis_fileを使用するのが無難でしょうか?
0212nobodyさん2007/08/14(火) 10:03:04ID:???
マニュアル嫁
違うことぐらい判るだろ。
0213nobodyさん2007/08/14(火) 10:06:31ID:???
マニュアルに書いてあることはもうわかってますよw
0214nobodyさん2007/08/14(火) 10:06:51ID:???
>>213
>>1
0215nobodyさん2007/08/14(火) 10:08:44ID:???
わからないならわならないって家よクズ回答者w
■ このスレッドは過去ログ倉庫に格納されています