【PHP】くだらねぇ質問はここに書き込みやがれpart2
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
05/01/09 06:01:24ID:tJkdKk+eお前の下らない質問に回答があるかも知れないスレッドです。
0256nobodyさん
05/01/14 10:10:46ID:???> Shows all predefined variables
~~~
ここに全部あるわけ
http://jp.php.net/manual/ja/language.variables.predefined.php
0257nobodyさん
05/01/14 10:53:57ID:dc+qAGeZ<form enctype=multipart/form-data action=upload.php method=post>
<input type=hidden name=max_file_size value=10000>
画像:<input name=userfile type=file>
<input type=submit value=送信>
</form>
</html>
<?php
$uploadfile = $_FILES['userfile']['name'];
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
print "アップ成功";
} else {
print "アップ失敗";
}
画像アップローダーを作ろうとし
上のように記述して送信ボタンを押したところ、
Warning: Unable to create 'xxxx.gif': Permission denied in /home/xxxx/xxxx/upload.php on line 15
Warning: Unable to move '/tmp/php49xHiN' to 'tohowww.gif' in /home/xxxx/xxxx/upload.php on line 15
のようなエラーが発生しました。
このエラーを回避するにはどのように直したらよいですか?。
0259nobodyさん
05/01/14 11:12:48ID:gDcK7oTtメッセージをExcite翻訳してやったから、257はチラシの裏にでもコード書いてろ。な?
警告: 'xxxx.gif'を作成することができません: 許可は稼働中な/home/xxxx/xxxx/upload.phpで15を否定しました。
警告: 線15の上の/home/xxxx/xxxx/upload.phpの'tohowww.gif'に'/tmp/php49xHiN'を動かすことができません。
0261nobodyさん
05/01/14 11:46:48ID:???PHPならではの、弊害だな。
0262初心者
05/01/14 11:54:21ID:a1cFeSEO↑よくこんなのが出てきたり出てこなかったりするのですが、
プログラムを見ると ' とかは見当たらないのですが、
これってどうしてでしょうか?
0263nobodyさん
05/01/14 12:31:04ID:???PHP4.2で文字コードEUCにてテキストフォームをつくりました
入力された結果をメールでとばし、かつDB(PostgreSQL)に蓄積、というものです。
�鰍ニか�汲ニかの機種依存文字を入力されてしまった時にメール、DBとも文字化けしてしまうので
用途から�括汲フ2文字だけは頻出しそうなので
(株)と(有)にそれぞれereg_replaceしたいのですが
http://www.shurey.com/Soft/JavaScript/font2.html
にある表の8780の行のAとBはどう表記していいのか教えていただけますか
0264nobodyさん
05/01/14 14:14:23ID:???A, Bはそれぞれ一ケタ目
�梶ィ\x87\x8A
�求ィ\x87\x8B
>>262
引数に文字を受け付けない関数に文字列を渡してるんだろ
つーかなぜ肝心の67行目を隠すかねえ
0265nobodyさん
05/01/14 14:15:12ID:sj4KYmxy単なる記述ミス。
'とか"の閉じ忘れだったり、;で行を終らせてなかったりするとよく出る。
対処:
コードをよく見る。
それか、PHPコード中の文字列や関数、変数、コメントを色換えしてくれるエディタにする。
0267nobodyさん
05/01/14 14:18:18ID:???すると、同じphpファイルなのに、ファイル名で挙動が違います。
「index.php」の場合、プラウザに表示されず、ファイルをダウンロード
しようとします。
「foo.php」の場合、正常に動作します。
なにが問題で、このような動作をするのでしょうか?
0268nobodyさん
05/01/14 14:23:22ID:???NixならEUC-JPかUtf-8だろうから、閉じ忘れが有力なあ
エディタがないならhighlight_file()とか
0269nobodyさん
05/01/14 14:32:39ID:???httpd.confか.htaccessファイルを見れ
よくわからなかったらサバ管理者に聞いてくれ。
0270263
05/01/14 14:40:17ID:???ありがとうございました
$hoge = ereg_replace("\x87\x8A","(株)",$hoge);
$hoge = ereg_replace("\x87\x8B","(有)",$hoge);
のようにしてみましたがダメでした、もうちょい格闘してきます
0272263
05/01/14 14:59:05ID:???ファイルエンコーディングはEUCです、ってーことは
参照する文字コード表が間違ってる…んですね。
orz
ごめんなさい、探してきます
0273nobodyさん
05/01/14 15:02:52ID:???0274nobodyさん
05/01/14 15:04:06ID:???0275263
05/01/14 15:11:46ID:???http://www.rtpro.yamaha.co.jp/RT/docs/misc/kanji-euc.html
とかいくつかみたんですが(株)がない…。
print bin2hex('��');
したら"adae"とでました
http://jp2.php.net/manual/ja/function.bin2hex.php
イミがよく分からないながらも
$hoge = ereg_replace("\xad\xae","(株)",$hoge);
なんてやってみましたがorzでした、もうちょっと弄ってみます
0276nobodyさん
05/01/14 15:20:15ID:???$hoge = ereg_replace("��", "カブ", $hoge);
でいいじゃないか
0277nobodyさん
05/01/14 15:53:14ID:???mb_regex_encoding("EUC-JP");
mb_ereg_replace("\xAD\xAE", "(株)", $hoge);
0278263
05/01/14 16:16:06ID:???自分はmacで制作しているんですが
自機ではOKなんですがwin機で変換できないです
win機でbin2hex('��');してもmacでも同じ"adae"なのに…
bin2hexはASCII文字列を返してくれるようなのですが
EUCのコードを返してくれる関数ってないんでしょうか?
0279nobodyさん
05/01/14 16:21:40ID:???0280nobodyさん
05/01/14 16:24:49ID:???0281231
05/01/14 16:50:07ID:???外部実体エンティティが上手くオブジェクト化されないようです。
simplexml_load_file()でxml文書を読み込み、print_rで内容を表示してみると外部実体は展開されているように見えますが
実際にオブジェクトをたどってみると途中でNULLとなってしまい、外部実体の内容を取得できません。
これはPHPのバグなのでしょうか?
[hoge.xml]
<?xml version="1.0" encoding="Shift-JIS" ?>
<hoge>
test
</hoge>
[test.xml]
<?xml version="1.0" encoding="Shift-JIS" ?>
<!DOCTYPE test [
<!ENTITY hoge SYSTEM "hoge.xml">
]>
<fuga>
&hoge;
</fuga>
[PHP]
<?php
$xml = simplexml_load_file('test.xml');
var_dump($xml); // ここでは展開されて見える
var_dump($xml->hoge); // これだと見えない
?>
0282231
05/01/14 16:52:53ID:???誤:<!DOCTYPE test [
正:<!DOCTYPE fuga [
0285nobodyさん
05/01/14 18:58:03ID:???>>283
それが俺の掲示板の使い方です。
お金を払わずにわからない所があれば誰かが教えてくれる場所だと思っています。
なので、わからない人は返事しないで頂けませんか?
ここにいる人たちだって、わかる質問があれば答えるべきです。
それがこのスレの住人としての責務じゃないですか?
質問に回答がこないようじゃ質問スレとしては成り立たないと思います。
0288nobodyさん
05/01/14 19:37:03ID:???「&」→「&」と変換したいです。
でも、"や∩や†
文字実態参照・数値文字参照として用いられる「&」
は変換したくないです。
preg_replace("/&(?![A-Za-z]{0,4}\w{2,3};|#[x0-9a-f]{2,6};)/",
"?", strtr($string, $trans));
こういうのを見かけたんだけど、マニュアルよんでも
strtrのあたりとかがよくわかりません。
こういう処理は必要なくて、ただhtmlentitiesに食わせるだけでいいんでしょか?
0289nobodyさん
05/01/14 20:07:23ID:???効率が断然上がり、解答により多くの時間をかけることができるようになります。
0290263
05/01/14 22:15:28ID:???$hoge = ereg_replace("\xad\xea","(株)",$hoge);
$hoge = ereg_replace("\xad\xeb","(有)",$hoge);
知り合いがもってる文字コード表の本でみてもらったorz
そのあとで
print bin2hex('��');
print bin2hex('��');
した結果を入れている事に気がついた。
"\xad\xeb"は264さんの書き方をまんまコピーしただけなんで
\x○○の書き方を見直してきます
ありがとうございました
0291nobodyさん
05/01/15 00:49:47ID:???取得するにはどうすればいいですか?
function GetText($word,$wstart,$wend){
preg_match("/($wstart)([^\n]+)($wend)/i",$word,$text);
return $text[2];
}
文字列$word内の$wstartと$wendの間を取得する
ような処理をさせようとしています。
なんか検索する文字によって↓のエラーがでる
Warning: Unknown modifier 'a'
とか
Warning: Unknown modifier 't'
対処方法またはエロイ人用のすばらしいものを教えてください。
0292nobodyさん
05/01/15 02:17:50ID:???function GetText($word,$wstart,$wend){
$pattern = "/$wstart([^\n]+)$wend/i";
preg_match($pattern,$word,$text);
return $text[1];
}
0293nobodyさん
05/01/15 02:18:03ID:wU+VTC+T全てのファイルをアップロードし、パーミッションも設定が終わりましたが、
Warning: array_shift(): The argument should be an array in /*/*/***.php on line 25
Warning: Invalid argument supplied for foreach() in /*/*/***.php on line 26
というエラーが出ます。
この前に出た絶対パスのエラーは原因を自力で探せたのですが、↑が分かりません。
ぐぐっても参考になるものは出て来なかったのですが、バグなのでしょうか?
ちなみに***.phpの25、26行目はさわっていません。
教えてください!お願い致します。
0295nobodyさん
05/01/15 02:22:42ID:???ごめん、全く意味がわからない。
せめて、そのスクリプトのコードを見せて貰わないことにはどうにもならない。
#エスパーキボンヌなら帰って下さいね
0296nobodyさん
05/01/15 02:25:29ID:wU+VTC+T説明不足ですみません。どこまで書けばいいのか分からず・・・
コードは25、26行目でよろしいでしょうか?
$this->total = trim(array_shift($nums));
foreach ($nums as $tmp) {
となっています。ファイル名はcommon.phpとなっています。
0297nobodyさん
05/01/15 02:26:58ID:???それだけじゃわかんないなぁ。
25行目のarray_shiftの引数が配列じゃないんだろうから、
その引数となってる変数をスクリプトから検索してみて、
定義されてるところを見てみたらいいかな。
0298nobodyさん
05/01/15 02:27:53ID:???0299nobodyさん
05/01/15 02:31:00ID:???とりあえず、>297の言うとおり$numsが一番最初に出てくる場所を探してみ。
foreachのエラーはそれを解決したら自ずと解決するような気がする。
どっかから落としたものなら、配布元に聞くのが一番手っ取り早いんだけどな。
0300nobodyさん
05/01/15 02:32:36ID:wU+VTC+Tで、せっかく答えてくださったのになんなんですが、
phpスクリプトのことはさっぱりなので・・・、作者さんに問い合わせてみることにします。
今後の為にこれから勉強していきます。
初心者が設置するなって感じですが、どうしても使いたかったものなので・・
すみません。
0301nobodyさん
05/01/15 02:36:47ID:wU+VTC+T>298さん
エキサイトで訳してみると
シフトを整列させてください、
供給された根拠のない議論とでました。
>297
phpファイルがたくさんあるんですが、
全部を検索すれば良いのでしょうか?
設置の際のエラーではなく内部のものなら、作者さんに問い合わせた方が良いとのお答えなので、
質問しつつ検索してみます。
0302nobodyさん
05/01/15 02:42:53ID:???まぁ…くだ質だから答えるけど、
common.phpから探してみてないようなら、
他のファイルでcommon.phpをincludeしてたり
requireしてたりするスクリプトの中から検索する。
ただ、検索して見つかったところで何もわからないんだったら、スレ違いになるのかな。
0303nobodyさん
05/01/15 02:52:08ID:???警告 : array_shift()関数: /*/*/***.phpの25行目、引数は配列でなければなりません。
> Warning: Invalid argument supplied for foreach() in /*/*/***.php on line 26
警告 : /*/***.phpの26行目、foreach()に正しくない引数が渡されています。
0304nobodyさん
05/01/15 03:00:36ID:wU+VTC+Tcommon.phpには$numsも$tmpの文字はありませんでしたし、
ほんとに何も分からない状態です。
さわって変なことになるのは怖い気もするので大人しく作者さんからの回答を待ってみます。
その間、皆さんのレスを元にphpマニュアルと格闘します・・
お手数お掛けしてすみませんでした。
お知恵を貸してくださった方々に感謝致します。
0305nobodyさん
05/01/15 06:26:23ID:8dAi9b4Cなんかめんどっちぃなぁ。よく忘れてエラー出まくり…_| ̄|○
0306nobodyさん
05/01/15 06:31:03ID:???0308nobodyさん
05/01/15 19:10:23ID:6vuxoIpW0310nobodyさん
05/01/15 19:44:59ID:6vuxoIpWなるほどよく分かりました・・・ってチッガーウよ
トラック/ \”ックでは無くてトラック/ \゚ックです
0311nobodyさん
05/01/15 19:59:06ID:???0312nobodyさん
05/01/15 20:10:10ID:vOEqqKZU最近HPを作り始めたのですが、
FTPで画像をアップロードしてHPに貼り付けた画像の、
プロパティを見たらURLが普通のフォルダ名とかになってるんです、
どうやってHTTPになるんですか?
教えてください。お願いします
0313nobodyさん
05/01/15 20:11:20ID:???反応を返す意味合いだと。
0317nobodyさん
05/01/15 20:26:02ID:???0318nobodyさん
05/01/15 20:54:30ID:6vuxoIpWトラックバックやった〜〜スマン。
パソコンの解像度が悪いんや、わてがわるいんとちゃうで。
まっ下らない質問のスレだからゆるしてたもれ。
0319nobodyさん
05/01/15 20:56:54ID:B4Q78ZKG超初心者の典型だな
imgタグのURLの書き方を勉強しなおした方が良いぞ
0320nobodyさん
05/01/15 20:58:00ID:???0322nobodyさん
05/01/16 11:46:47ID:iPhUnTdVPHP中心に今後使用していきたいのですが、
資格の基本情報技術者でプログラム開発言語って
アセンブラとC言語どっちがよかとでしょうか?
アセンブラが一番点を取りやすいそうですが、
個人的にはC言語を身に付けたいと考えています。
PHPやる場合、どっち覚えた方がとくでしょうか?
ヨロシコ!!
0324nobodyさん
05/01/16 13:15:37ID:???PHPなら1週間で覚えられる。
PHPを勉強して「こんなもの・・・」というものを漠然とつかんだら、Javaに移行した方がいい。
実際に使うのも、資格をとるのも、飯の種にするにも、Javaの方が数段有利。
Javaを覚えれば、CやC++なんかも簡単に使えるし、万が一、今後C#やらが伸びてきたとしてもほぼ完全に対応できる。
逆に、PHPを覚えてもPHPしか使えない。
0326nobodyさん
05/01/16 13:37:54ID:???は同意するが、
>Javaを覚えれば、CやC++なんかも簡単に使える
はちと無理がないか。Javaを覚えてるならCやC++で同じように使える
といえそうな部分は、PHPを覚えてるならCやC++も…と同じ程度で
そんな程度で「CやC++を使える」なんて言えないでしょ。
0327nobodyさん
05/01/16 13:38:39ID:???0328nobodyさん
05/01/16 13:42:15ID:???0329nobodyさん
05/01/16 14:02:46ID:???そうかなぁ〜
変数の扱いとか、その他の文法や作法はJavaもC++も同じだと思うけどな。
PHPとC++やJavaの文法や作法には大きな違いっていうか、根本的に違う。
文法・作法を覚えれば、あとは、その言語固有のロジックを覚えればいいだけであって、それは至極簡単なもの。
もっとも、アルゴリズムやデザインパターンを網羅した上での話しだが。
0330329
05/01/16 14:03:44ID:???○それは至極簡単な事
0331324,329
05/01/16 14:11:53ID:???Fortran(大学の授業)
C(大学の授業&実務)
VB(趣味)
C++&VC++(実務)
Java(実務)
Delphi(実務)
Ruby(趣味)
PHP(趣味)
C#(今後万が一の為・趣味)
0332nobodyさん
05/01/16 14:46:09ID:???手続き型(C)、関数型(Lisp)、論理型(Prolog)をやっときゃいい、
って話で終わっちゃうからなぁ。
オブジェクト指向型でSmalltalkも混ぜてもいいかな。
(未来は分からんが今現在の)WebProg向けの入り口としては
Java、PHP、Perlのどれかでいいっしょ。
上の3つともアセンブラで必要になってくる知識(レジスタとか)は
(制御できないという意味で)必要無いし、演算子や制御構造の書き方に
慣れるくらいの心積もりでCをやっとけばいいんじゃないかなぁ。
で、続くようならプログラム板へGo。
0334nobodyさん
05/01/16 15:18:51ID:???0335nobodyさん
05/01/16 15:38:31ID:???0336nobodyさん
05/01/16 16:04:24ID:???PHPは、XXXX.phpにコードを埋め込みますが、これは、そのページが呼び出される度にコンパイルしているのでしょうか?
JavaServletやJSPでは、コンパイルされるのは、最初に呼び出された一回のみで、
あとは、コンパイル済みのクラスファイルを用いるんですが、PHPの挙動はどうなんでしょう。
呼び出される度にコンパイルしていたんじゃ、かなり不合理っていうか鯖側の負担が大きいと思うのですが。
いらぬ心配なんでしょうか?
0337nobodyさん
05/01/16 16:24:56ID:???0338nobodyさん
05/01/16 16:29:24ID:???どのJSPを使ってるんだ?
0339nobodyさん
05/01/16 16:37:09ID:???厳密さを求めるとアレだが、Servletのライフサイクルを考えればそう表現しても問題ないだろ。
#それを言い出すとOSの実装上、PHPも逐次処理のインタープリタではなくなってしまうが・・
0340nobodyさん
05/01/16 16:47:16ID:???フォートラン最強
0341nobodyさん
05/01/16 16:50:14ID:???だからコンパイラとか(中間)コードキャッシュのソリューションが存在する。
有名どころだとZend社かionCube社の製品群。
0342nobodyさん
05/01/16 16:53:52ID:???0343nobodyさん
05/01/16 16:55:42ID:???Javaは汎用言語だからね。
そもそもPHPのように高速に逐次コンパイルできる仕様じゃないから負荷比較するのが間違い。
って比較対象フォトランかよ
0344nobodyさん
05/01/16 17:05:37ID:???0345336
05/01/16 17:10:54ID:???う〜ん、効率の面から言えば、どっちもどっちって事なんですね。
PHPは、簡単に作れて、簡単に実行できるが、変数などの定義が甘くまたインタプリタ言語のため、処理と表示が完全には分離できない。
昔作ったプログラムや他人が作ったプログラムをメンテする時は、地獄を見るかも。
Javaは、別途tomcatなどのサーブレットコンテナが必要になるが、
制御・処理・表示のロジックが完全に分離できてメンテが楽。
時間が経過しても、他の人が作ったものでも、見れば一発で何が何をしているかがわかる。
やはり、対象プロジェクトの規模によって使い分けるのが正解のようですね。
0346nobodyさん
05/01/16 17:29:51ID:???0348nobodyさん
05/01/16 17:32:25ID:???0349nobodyさん
05/01/16 17:36:02ID:???0350nobodyさん
05/01/16 18:53:47ID:???array_walkですと第二引数に渡す関数の第一引数を参照で渡せばよいのですが
function change_val(&$val, $key)
{
$val = $val + 5;
}
array_walk($array, 'change_val');
同様にキーを変更する時に参照で渡せばできるかもと考えやってみたのですができませんでした。
function change_key($val, &$key)
{
$key = 'prefix_' . $key;
}
array_walk($array, 'change_key');
foreachを使って新しい配列に入れるということならできるのですが
上手くできる方法・関数をご存知の方がいらっしゃいましたらご教授頂けないでしょうか。
どうかよろしくお願い致します。
0351nobodyさん
05/01/16 19:13:50ID:???0352nobodyさん
05/01/16 23:22:06ID:???ありがとうございました
0353nobodyさん
05/01/17 01:03:31ID:???0354nobodyさん
05/01/17 01:20:21ID:???■ このスレッドは過去ログ倉庫に格納されています