ถามเรื่อง array ครับ มึนจะตายอยู่แล้ว

เริ่มโดย ก้ามปู, 05 กันยายน 2008, 02:01:41

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

ก้ามปู

คือ ผมลองเขียนสคริปเล่นๆอ่ะครับ

แล้วมาติดอยู่ที่ การใส่ค่าลงใน array

คืองี้นะครับ ผมมีโค้ดสองตัวซึ่งน่าจะให้ผมเหมือนกัน แต่มันดันไม่เหมือน



$url = '1.html';
$content = readfile($url);




$url = $linkArr[1];
$content = readfile($url);


โดยที่

$linkArr[1] เท่ากับ 1.html


แต่ว่า โค้ดตัวแรกใช้ได้ แต่ตัวที่สองดันใช้ไม่ได้อ่ะครับ ทั้งๆที่ค่าของมันก็คือตัวเดียวกัน ทำไมมันเป็นแบบนี้อ่ะครับ
แล้วก็ทำยังไงถึงจะใช้ได้ครับ

เซียนรึไม่เซียน ก็ช่วยตอบผมหน่อยนะครับถ้ารู้อ่ะ พอดีกะลังรีบเลย ตอนแรกนึกว่าเป้นเพราะจุดอื่น เลยงมมาทั้งวันละ สุดท้ายเป้นเพราะตัวนี้นี่เอง

:P ยอมรับเลยครับว่าอ่อนมาก

ขอบคุณ ป๋าๆทุกท่านล่วงหน้านะครับ ใครช่วยได้ ขอให้ ยอดเงิน เพิ่มเป้น 3 เท่านะครับ  :)
ตอนนี้ผมไม่ค่อยว่างตอบอะไรใครนะครับ เพราะไม่ได้เข้าบอร์ดเลย

แอร๊ยยยๆๆๆ

ที่มันไม่ได้นี่คือ error แบบไหนอ่ะพี่

ก้ามปู

Warning: readfile (http://www.google.com) [function.file-get-contents]: failed to open stream: HTTP request failed! in C:\AppServ\www\genfile.php on line 14

แบบนี้อ่ะครับ

มันบอกว่าเปิดไฟล์ ไม่ได้อ่ะ พี่ก็งงเหมือนกัน มึนไปหมดแล้วเนี่ย  :P มาติดจุดนี้จุดเดียว ไม่งั้นงานพี่เสร็จตั้งแต่บ่ายๆอ่ะ
ตอนนี้ผมไม่ค่อยว่างตอบอะไรใครนะครับ เพราะไม่ได้เข้าบอร์ดเลย

แอร๊ยยยๆๆๆ

อ้างถึงจาก: ก้ามปู ใน 05 กันยายน 2008, 02:38:22
Warning: readfile (http://www.google.com) [function.file-get-contents]: failed to open stream: HTTP request failed! in C:\AppServ\www\genfile.php on line 14

แบบนี้อ่ะครับ

มันบอกว่าเปิดไฟล์ ไม่ได้อ่ะ พี่ก็งงเหมือนกัน มึนไปหมดแล้วเนี่ย  :P มาติดจุดนี้จุดเดียว ไม่งั้นงานพี่เสร็จตั้งแต่บ่ายๆอ่ะ

แล้วไอ้ google.com นี่คือยังไงเนี่ย มองรูปแบบของโค้ดพี่ไม่ออกง่ะ :P

ก้ามปู

คือว่า พี่จะเขียนสคริปดึงเอาข้อมูลจากหน้าเว้บอ่ะครับ

ทีนี้พี่มีลิสตื url ทั้งหมดไว้แล้วว่าจะเอาจากหน้าไหนบ้างอ่ะ
เลยเอา url นั้นไปเก็ยไว้ในไฟลล์ หลังจากนั้น ก็ดึงออกมาเก็บใน array อ่ะ

ทีนี้ก็เขียนวนลูป ให้มันดึงข้อมูลออกมาเก็บทีละหน้าอ่ะ โดยที่ $linkArr เป็นรายชื่อของ url อ่ะ

แต่ปัญหามันมีอยู่ว่าไอ้ url เนี่ย ถ้ากำหนดค่าให้มันตรงๆมันจะใช้งานได้ แต่พอกำหนดค่าให้เป็น array มันกลับใช้ไม่ได้อ่ะ
บอกว่าเปิดไฟลล์ไม่ได้ซะงั้น ทั้งๆที่ลองกำหนด ตำแหน่งของ array โดยไม่ได้วนลูป มันก้ยังใช้ไม่ได้

:P
ตอนนี้ผมไม่ค่อยว่างตอบอะไรใครนะครับ เพราะไม่ได้เข้าบอร์ดเลย

Kazamatsuri

ลอง debug แบบดิบ ๆดูล่ะกันครับ


$url = $linkArr[1];
echo $url."<br>";
$content = readfile($url);


วุ่นวายขึ้นมาหน่อยก็เอาแบบนี้


$url = $linkArr[1];
if ($content = readfile($url)) {
// ถ้าสามารถอ่าน url นั้นมาได้ ก็ทำตรงนี้
}
else {
// ตรงนี้อ่าน url มาไม่ได้
echo "url นี้ไม่สามารถเปิดได้ ".$url;
}


มันข้องใจตรงที่ขึ้นว่า google.com นี่แหละ :P

bugmai

อ้างถึงจาก: ก้ามปู ใน 05 กันยายน 2008, 02:01:41


ขอบคุณ ป๋าๆทุกท่านล่วงหน้านะครับ ใครช่วยได้ ขอให้ ยอดเงิน เพิ่มเป้น 3 เท่านะครับ  :)


ยอดเงินเป็น 0  :P :P 3 เท่า  :P :P

EThaiZone

ไม่เคยเจอแบบนี้ครับ ไม่เคยเป็นเลยอะ

ข้องใจสุดๆ ตรง Error ว่าทำไมใช้ readfile
แต่มันดูเหมือนไปทำงานกะ file_get_contents (ไม่เคยเจอ error แบบนี้เลย)

และError แบบนี้  คือมันเรียกหา array เจอครับ ค่าจากอาเรย์คืนมาปกติ
แต่ว่าเหมือนมันเรียกหน้าเพจไม่ได้ เหมือนปัญหาเกิดมาจากฟังค์ชั่นของมัน

แนะนำให้เลือกฟังค์ชั่นให้เหมาะจะดีกว่าครับ
เช่น ถ้าไฟล์ในเครื่อง ก็ใช้ readfile แต่ถ้าเป็นนอกเครื่อง ก็ curl
เผื่อโฮสที่ไม่ยอมให้คำสั่งตระกูล file ทำงาน อย่างดรีมโฮส

:P

ball6847

ป๋าก้ามรันในเครื่องตัวเองป่าวเนี่ย หรือว่ารันบนโฮสท์

file_get_contents มันจะเจอ http error บ่อยๆ ถ้ารันในเครื่องตัวเองผมก็ไม่เข้าใจ แต่ถ้ารันบนโฮสท์มันปกติ

วิธีที่ผมแก้คือใช้ curl แบบที่บอกไปเมื่อวาน - -*
We use Ubuntu.

[direct=http://ng-seo.sourcelab.xyz/]AngularJS SEO Experimental[/direct]

did9

 :P

สมมติว่า... ไฟล์ที่ไปอ่านมามีลักษณะอย่างนี้นะครับ
url1.html
url2.html
...
urlx.html

ให้ลองแบบนี้ก่อนนะครับ
$content = readfile(trim($url)); << เผื่อตอนอ่านมาทีละบรรทัดมันติด \n ขึ้นบรรทัดใหม่ (--') มาด้วยอะคับ
---------------
แต่จริงๆแล้ว ปัญหาน่าจะอยู่ที่ failed to open stream: HTTP request failed! มากกว่านะครับ
ทาง host หรือเว็บเค้าอาจเซต PHP.ini เป็น

allow_url_fopen = Off

เป็นการกันคนมาอ่าน code อะคับเป็น security
ถ้าต้องการอ่าน เนื้อหาจากหน้านั้นจริงๆ แนะนำให้ ใช้วิธี socket น่าจะไม่มีปัญหานะครับ เพราะ ไป Get code ที่เป็น html มาแล้วค่อยตัดๆ เอาเฉพาะส่วนที่เราต้องการ

คงประมาณนี้อะคับ แหะๆ  :P

jedixxx

อยากเห็นโค๊ด เต็มๆ ของตัวที่ใช้ไม่ได้นะครับผม

ว่าท่านเขียนมาแนวไหน เผื่อจะช่วยได้ครับ :)
-จำหน่าย zip code ของ สหรัฐ ซึ่งจัดเก็บไว้ในรูปแบบไฟล์ CSV, mdb, xls สนใจติดต่อได้ครับ

-รับทำเว็บไซต์ด้วย PHP, MySQL สนใจติดต่อได้ครับ

john007

อ่านชื่อ file มาจาก txt ไฟล์ หรือป่าวครับ อย่าลืม trim เอา whitespace ออกก่อนเน้อ

ผมเจอหลายรอบแระ

[direct=http://www.aiyaadressy.com]เสื้อผ้าเกาหลีราคาถูก[/direct] | [direct=http://www.itrendy24.com]สินค้าดี ราคาถูก[/direct]

thenetxx


$linkArr = array (
'1html',
'2html',
);

foreach($linkArr as $url)
   $content[] = readfile($url);


//ดูค่าที่ได้
print_r($content);
Develop site but can't develop life
ASIA

Tee++;

ข้อมูลไม่เพียงพอขอมั่วๆ ไปก่อน

$url = (string)trim($array[0]);
[direct=http://laravel.in.th]Laravel in Thai[/direct]
[direct=http://jquerytips.com]jQueryTips by Tee++;[/direct]
[direct=https://www.facebook.com/jQueryTips]jQueryTips Page[/direct]
[direct=https://www.facebook.com/Laravel.in.th]Laravel in Thai Page[/direct]
[direct=https://twitter.com/Teepluss]Teepluss's Twitter[/direct]