つ [ ファイル関数 ソケット関数 ]
$hensuu = file_get_contents( '
http://〜' );
>>950 <?php
function mkTrip($key, $length = 10)
{
$salt = substr($key . 'H.', 1, 2);
$salt = preg_replace('/[^\.-z]/', '.', $salt);
$salt = str_replace(
array(':',';','<','=','>','?','@','[','\\',']','^','_','`'),
array('A','B','C','D','E','F','G','a','b','c','d','e','f'),
$salt);
return substr(crypt($key, $salt), -$length);
}
function gettrip($tripkey) {
$tripsalt=preg_replace('/[^.-z]/','.',$tripkey);
$tripsalt=strtr($tripsalt,':;<=>?@[\]^_`','ABCDEFGabcdef');
$tripsalt=substr($tripsalt.'H',1,2);
$trip=substr(crypt($tripkey,$tripsalt),3,10);
return($trip);
}
print( "誰かさん◆".gettrip("Lamp")."\n" );
print( "誰かさん◆".mkTrip("Lamp") );
?>
hoge($str);
function hoge(&$str){ $str = 1; }
hoge(&$str);
function hoge($str){ $str = 1; }
この二つは両方とも同じ意味になるでしょうか?
エラーレポートALLにして後者の方をやったら、関数を呼ぶときに参照渡しするなと怒られてしまったので。。
あのさ、下の方のhogeで
hoge($str);
ってやったら意味ないじゃん。
>>957 すっません、参照渡しする場合は、受け取る方が必ず&付けないといけないってことですか?
てっきり、どっちかに付ければいいもんだと思ってました。
>>958 PHPでは下の方法は非推奨だからうえのほう使っとけ
>>958 呼び出し側に参照にすることを期待する(または選択させる)ような関数を書くな。
危なっかしい。
関数定義で参照変数にしたヤツを変更してしまうのは
後になって自分でも原因がわからなくなるバグを作るようなもんだ。やめとけー
質問です。
fsockopen関数を使って、HTTPSでアクセスしたいのですが、以下の警告が出て接続に失敗します。
Warning: fsockopen(): no SSL support in this build in /home/nullpo/public_html/acc.php on line 3
PHPインストール時に--with-openssl=[DIR]オプションは付けています。
phpinfo()のOpenSSLの欄:
openssl
OpenSSL support enabled
OpenSSL Version OpenSSL 0.9.7g 11 Apr 2005
これ以外で何か足りないところがあるんでしょうか?
963 :
nobodyさん:2005/07/04(月) 15:10:31 ID:Yvg1h5R+
すみません。
これ↓、どこか間違ってますか?
エラーは出ませんけど、何も表示されません。
どうしてでしょうか?
<?php
$flag=0;
$a=$_POST[indata];
$b=$file("name.dat");
for($c=0;$c<=count($b)-1;$c++)
{
if($b[$c]==$a)
{
echo "入力済みの店舗か、no",$c,"と同名の店舗です。";
$flag=1;
}
}
if($flag=0)
{
$file=fopen("shop.dat","a");
fwrite($file,$_POST[indata]."\r\n");
echo"追加しました。";
}
?>
>>963 間違いが一杯ありすぎるんだけど。。。
$a=$_POST[indata]; → $a=$_POST["indata"];
$b=$file("name.dat"); → $b=file("name.dat");
if($flag=0) → if($flag==0)
fwrite($file,$_POST[indata]."\r\n"); → fwrite($file,$_POST["indata"]."\r\n");
何も表示されない時はたいていパースエラーなので、先頭に以下を追加して
テストしてみそ。
ini_set("display_errors", true);
error_reporting(E_ALL);
>>962 何が足りないって、貴方の環境やソースの詳細
fsockopen('ssl://www.example.com', 443)
って感じで、ちゃんと開いてるのか?
969 :
nobodyさん:2005/07/04(月) 22:59:41 ID:HGadz7bj
>>964 ありがとう
くだらないミスばかりだ。
雑な俺にはむいてないのか・・・・・・・OTZ
970 :
963:2005/07/04(月) 23:26:27 ID:HGadz7bj
これでいいですか?
<?php
ini_set("display_errors", true);
error_reporting(E_ALL);
$flag=0;
$a=$_POST["indata"];
$b=file("shop.dat");
for($pl=0;$pl<=count($b)-1;$pl++)
{
if($b[$pl]==$a)
{
echo "入力済みの店舗か、No",$c,"と同名の店舗です。";
$flag=1;
}
}
if($flag==0)
{
$file=fopen("shop.dat","a");
fwrite($file,$_POST["indata"]."\r\n");
echo"追加しました。";
$file=fclose("shop.dat");
}
?>
971 :
963:2005/07/04(月) 23:26:39 ID:HGadz7bj
なぜか
for($pl=0;$pl<=count($b)-1;$pl++)
{
if($b[$pl]==$a)
{
echo "入力済みの店舗か、No",$c,"と同名の店舗です。";
$flag=1;
}
}
の部分が機能しないのですが・・・・・
for文の直後に echo "[".$b[$pl]."]"; てな感じで出力してみれば分かると思うけど、
file()で読み込んだ場合には、それぞれの最後に改行文字がついてるのよ。(マニュアルにも記載あり)
一方 $a の方は付いてないはず。
おかしいな、と思ったらecho(or print)してみるのが鉄則。
つ [ rtrim関数 ]
>>971 ところどころにecho使って変数の値をつど表示させてみる。
これ、基本。
974 :
nobodyさん:2005/07/05(火) 00:01:58 ID:/sVdkK+7
可変長引数を受け取る関数から、
別の可変長引数関数に、
引数をすべて渡すいい方法はないでしょうか?
一応、配列にぶちこんでから渡す方法を考えたのですが
ぶちこみ処理が冗長な気もします。
975 :
963:2005/07/05(火) 00:43:33 ID:TcsYh7kq
ありがとうございます。
えちょで確認したところ
↓の部分が動いて内容なんですが、なんか間違ってますか?
テンパッてるせいか、もうワケ分かりません・・・・OTZ
if($shop[$lp]==$a)
{
echo"ok";
echo"入力済みの店舗か、No",$c,"と同名の店舗です。";
$flag=1;
}
ほどほどに
「えちょ」ってなんだ「えちょ」って。
978 :
nobodyさん:2005/07/05(火) 02:25:43 ID:ZCak048z
マジレスごめん
イーチョだよイーチョ!
エチョってよむやつは英語の勉強しなおしてこい!
>>975 しょうがねーなー
>>972が改行文字のあるなしって書いてるだろ
if($shop[$lp]==$a)
↓
if(trim($shop[$lp])==$a)
980 :
nobodyさん:2005/07/05(火) 16:32:23 ID:KhOBjuCN
>>977 ごめんごめん。
いつもの癖で、関西弁が出てしまいましたw
>>979 ありがとうございます。
できました。
へーちょ
982 :
サル:2005/07/05(火) 16:40:59 ID:rDJ/Mrei
質問です
----これを2.htmlとします-------------
<P>□項目A<BR>
□項目B<BR>
□項目C<BR>
□項目D<BR>
□項目E<BR>
□項目F<BR>
□項目G<BR>
□項目H</P>
そうすると↓で表示出来ないのですが、何が間違ってますか?
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<HR>
<? include("2.html"); ?>
<HR>
<? include("2.html"); ?>
<HR>
<? include("2.html"); ?>
<HR>
</BODY>
</HTML>
表示できない、だけでは何とも
984 :
サル:2005/07/05(火) 16:50:22 ID:rDJ/Mrei
どういう風にすれば宜しいでしょうか?
985 :
nobodyさん:2005/07/05(火) 17:29:52 ID:KhOBjuCN
度々すみません。
↓のif文が実行されないんですが何ででしょうか?
<?php
ini_set("display_errors", true);
error_reporting(E_ALL);
$category=$_POST["category"];
$shop=file("shop.dat");
//検索
for($lp=0;$lp<=count($shop)-1;$lp++)
{
if(trim($shop[$lp])==$category)
{
echo "ココが表示されない";
}
}
?>
>>981 風邪ですか?お大事に。
>>985 上の方でも散々言われてきたように、
こんな感じで、各変数が意図した値(s)を持っているかを確認しましょう。
ini_set("display_errors", true);
error_reporting(E_ALL);
$category=$_POST["category"];
var_dump($category);
$shop=file("shop.dat");
var_dump($shop);
//検索
for($lp=0;$lp<=count($shop)-1;$lp++)
{
var_dump($lp);
var_dump($shop[$lp]);
var_dump($category);
if(trim($shop[$lp])==$category)
{
echo "ココが表示されない";
}
}
987 :
nobodyさん:2005/07/05(火) 18:26:04 ID:KhOBjuCN
>>982 2.htmlを以下にしてみればどうじゃろ?
<?
$string = "<P>□項目A<BR>\n";
$string .= "<P>□項目A<BR>\n";
$string .= "<P>□項目A<BR>\n";
$string .= "<P>□項目A<BR>\n";
$string .= "<P>□項目A<BR>\n";
$string .= "<P>□項目A<BR>\n";
$string .= "<P>□項目A<BR>\n";
$string .= "<P>□項目A<BR>\n";
$string .= "<P>□項目A<BR>";
print ($string);
?>
989 :
nobodyさん:2005/07/05(火) 18:58:48 ID:KhOBjuCN
>>986 やってみましたが、思ったとおりの正しい値でした。
原因はわからないままです。
どうしたもんでしょう・・・・・OTZ
>>989 差し支えない範囲で、shop.datの最初から数行を晒してみ
991 :
:2005/07/05(火) 19:36:36 ID:hzs6UPOn
宣伝乙。
そこで答えるぐらいならここで答えるよ。
質問があるっす!
php4で、
http://headline.2ch.net/bbynews/ の板に立ったスレッド全てについて
一言言及したブログを自動投稿したいっす!具体的にはライブドアブログにて自動投稿したいんです。
ブログの投稿内容は各スレッドの1のレス内容をそのままコピーして投稿したいです。
例として
http://blog.livedoor.jp/newsscrap/ と全く同じブログが欲しいっす。
実際にphpコードを探すと以下のようなのを見つけたんですけど、こっから先がイマイチです。
あとライブドアブログへの自動ログイン・投稿についてもイマイチ・・・助けて下さいm(_ _)m
当方のサーバはxreaでcron使えます。
<?php
$url = '
http://headline.2ch.net/bbynews/';
$list = file($url);
foreach ($list as $line) {
if (!preg_match("|^\d{4}/\d{2}/\d{2}|", $line)) continue;
list($date, $time, $url_title) = explode(' ', $line, 3);
preg_match("/<a href=([^>]+)>(.+)$/", $url_title, $match);
$url = $match[1];
$title = $match[2];
// 実際は投稿用配列に保存して後でpost
echo "日付".$date." 時間".$time.' <a href="'.$url.'">URL</a> タイトル '.$title."<br>\n";
}
?>
>>993 ここも作ってもらうスレじゃないんだが。。。
まずはログインの時にどういうデータ(get,post,cookie etc.)を送っていて、
どういうデータ(idやらsessionやら)が送り返されてきてるのか調べてみる事から始めてみては?
ieHTTPHeadersやproxomitronやパケットキャプチャーあたりのツールを使って地道にガンガレ
XREAはバーボン
996 :
963:2005/07/05(火) 23:17:25 ID:TcsYh7kq
>>990 お得意さんリストのような物なので、一行目から差し支えてします。
親切に教えてくれたのに、申し上げにくいのですが駄目です。すんません。
if(trim($shop[$lp])==$category)
{
echo "ココが表示されない";
}
↑この記述は、正しいですかね?
あとvar_dump($〜);で出てきたstring(14)ってどんな意味ですか?
>>996 見せられない情報なら、適当なデータを書き込んだ仮の shop.dat ファイルを
用意して、そのテスト結果をさらしな。
string(14) はそのデータの長さ。
てか、var_dump の表示結果が string(14) "xxxx....." と表示されているはずだが
14ってのは xxxx... の長さだってことを気がつかないのか?
改めてスレを追ったけど、おまえさん、プログラム書くセンスないと思うよ。
>>996 お客さんリスト?
shop.datの1行にはどんな文字列が入っているんだ?
そのままでなくてもいいから、伏字とか類似文字列とかにして晒せ。
それから、form画面のname=categoryの内容もな。
formのname=categoryのValue値は、
shop.datの1行と絶対に同じなんだろうな?
999 :
nobodyさん:2005/07/06(水) 00:11:00 ID:Z5eAEHZk
>>14ってのは xxxx... の長さだってことを気がつかないのか?
全然気づかなかった。
別に長さに比例してるわけでもなかったし・・・・
漢字だったからかな?
>>998 ありがとうございます。
php勉強し始めて、2週間なもので。
今は、手元に無いので、明日出勤してから出来るだけ詳しく書かせていただきます。
皆さん、おながいしますね。
クレ厨でごめんなさい。
1000だ
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。