【PHP】くだらねぇ質問はここに書き込みやがれpart2
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
05/01/09 06:01:24ID:tJkdKk+eお前の下らない質問に回答があるかも知れないスレッドです。
0230nobodyさん
05/01/13 21:25:01ID:eW3QGjHb使用感(速度・安定性)はどうでしょう
0231nobodyさん
05/01/13 21:28:01ID:mcYFj/Gd[test.xml]
<?xml・・・?>
<aaa file="c:\hoge">
・
・
・
</aaa>
[スクリプト]
$xml = simplexml_load_file('test.xml');
$attr = $xml->attributes();
foreach($attr as $key=>$var)
{
echo "$key -> $var\n";
}
・・・と、こんな感じでXMLを読み込んでfileの属性値を取得しています。
その属性値を表示してみると\記号以降が文字化けしてしまうのですが、
どうやって解消すればよいのでしょうか?
0233231
05/01/13 22:46:01ID:mcYFj/Gd>マルチバイトの文字がエンティティ化されてるだけじゃないの?
すみません、知識不足の為この部分がよくわからないのですが、
文字化けとエンティティ化というのはどのように関係してくるのでしょうか?
実際に発生している文字化けは上記の例だと「c:\hoge」が「c:ツ・hoge」となります。
どうやら「\」が 0xc2a5 という値に置き換わっているようなので
今のところ、上記コードのforeach内部で
str_replace(chr(0xc2).chr(0xa5), "\\",$var);
とすることで文字化けした部分を無理やり\記号に置き換えている状況です。
0235nobodyさん
05/01/13 23:16:47ID:???http://foo.com/etc/passwd
とかできたら怖いだろうが
0237nobodyさん
05/01/13 23:48:56ID:???0240nobodyさん
05/01/14 01:17:18ID:???それでもmojaviつかったほうがいいでつか?
0241nobodyさん
05/01/14 02:31:33ID:???値を残したいんですけどどうすればいいのでしょうか
0244nobodyさん
05/01/14 03:07:54ID:gDcK7oTtそこでセッションですよ。
0245nobodyさん
05/01/14 03:13:28ID:???0246nobodyさん
05/01/14 03:25:56ID:???クライアント側で完結させてしまうのがいい。
そうなるとこの板のネタじゃなくなってしまうけど。
0247nobodyさん
05/01/14 04:05:45ID:???0248nobodyさん
05/01/14 04:21:16ID:???0249nobodyさん
05/01/14 05:13:18ID:???文字コードはEUCです。
UTF-8に変える以外でこれを回避する方法は無いでしょうか。
0250nobodyさん
05/01/14 05:22:33ID:???0251nobodyさん
05/01/14 05:32:53ID:???書き込みにくかったんです。・゚・(ノД`)・゚・。
0252nobodyさん
05/01/14 08:57:31ID:???0253nobodyさん
05/01/14 08:59:31ID:???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の文法や作法には大きな違いっていうか、根本的に違う。
文法・作法を覚えれば、あとは、その言語固有のロジックを覚えればいいだけであって、それは至極簡単なもの。
もっとも、アルゴリズムやデザインパターンを網羅した上での話しだが。
■ このスレッドは過去ログ倉庫に格納されています