ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingถามเรื่อง array ครับ มึนจะตายอยู่แล้ว
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: ถามเรื่อง array ครับ มึนจะตายอยู่แล้ว  (อ่าน 1349 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
ก้ามปู
เสือซุ่มด่า
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 218
ออฟไลน์ ออฟไลน์

กระทู้: 6,195



ดูรายละเอียด เว็บไซต์
« เมื่อ: 05 กันยายน 2008, 02:01:41 »

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

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

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

โค๊ด:

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


โค๊ด:
$url = $linkArr[1];
$content = readfile($url);

โดยที่
โค๊ด:
$linkArr[1] เท่ากับ 1.html

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

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

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

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

ตอนนี้ผมไม่ค่อยว่างตอบอะไรใครนะครับ เพราะไม่ได้เข้าบอร์ดเลย
แอร๊ยยยๆๆๆ
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 50
ออฟไลน์ ออฟไลน์

กระทู้: 2,765



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 05 กันยายน 2008, 02:31:44 »

ที่มันไม่ได้นี่คือ error แบบไหนอ่ะพี่
บันทึกการเข้า

ก้ามปู
เสือซุ่มด่า
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 218
ออฟไลน์ ออฟไลน์

กระทู้: 6,195



ดูรายละเอียด เว็บไซต์
« ตอบ #2 เมื่อ: 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

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

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

ตอนนี้ผมไม่ค่อยว่างตอบอะไรใครนะครับ เพราะไม่ได้เข้าบอร์ดเลย
แอร๊ยยยๆๆๆ
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 50
ออฟไลน์ ออฟไลน์

กระทู้: 2,765



ดูรายละเอียด เว็บไซต์
« ตอบ #3 เมื่อ: 05 กันยายน 2008, 02:41:49 »

โค๊ด:
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

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

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


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

ก้ามปู
เสือซุ่มด่า
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 218
ออฟไลน์ ออฟไลน์

กระทู้: 6,195



ดูรายละเอียด เว็บไซต์
« ตอบ #4 เมื่อ: 05 กันยายน 2008, 02:48:35 »

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

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

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

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

 Tongue
บันทึกการเข้า

ตอนนี้ผมไม่ค่อยว่างตอบอะไรใครนะครับ เพราะไม่ได้เข้าบอร์ดเลย
Kazamatsuri
ก๊วนเสียว
*

พลังน้ำใจ: 5
ออฟไลน์ ออฟไลน์

กระทู้: 319



ดูรายละเอียด
« ตอบ #5 เมื่อ: 05 กันยายน 2008, 07:52:31 »

ลอง 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 นี่แหละ Tongue
บันทึกการเข้า

bugmai
Administrator
เจ้าพ่อบอร์ดเสียว
*****

พลังน้ำใจ: 200
ออฟไลน์ ออฟไลน์

กระทู้: 5,345



ดูรายละเอียด เว็บไซต์
« ตอบ #6 เมื่อ: 05 กันยายน 2008, 08:08:17 »



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


ยอดเงินเป็น 0  Tongue Tongue 3 เท่า  Tongue Tongue
บันทึกการเข้า

EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 321
ออฟไลน์ ออฟไลน์

กระทู้: 12,518



ดูรายละเอียด เว็บไซต์
« ตอบ #7 เมื่อ: 05 กันยายน 2008, 08:16:20 »

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

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

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

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

 Tongue
บันทึกการเข้า

ball6847
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 212
ออฟไลน์ ออฟไลน์

กระทู้: 4,174



ดูรายละเอียด
« ตอบ #8 เมื่อ: 05 กันยายน 2008, 08:27:00 »

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

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

วิธีที่ผมแก้คือใช้ curl แบบที่บอกไปเมื่อวาน - -*
บันทึกการเข้า

did9
Newbie
*

พลังน้ำใจ: 2
ออฟไลน์ ออฟไลน์

กระทู้: 68



ดูรายละเอียด เว็บไซต์
« ตอบ #9 เมื่อ: 05 กันยายน 2008, 08:41:36 »

 Tongue

สมมติว่า... ไฟล์ที่ไปอ่านมามีลักษณะอย่างนี้นะครับ
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 มาแล้วค่อยตัดๆ เอาเฉพาะส่วนที่เราต้องการ

คงประมาณนี้อะคับ แหะๆ  Tongue
บันทึกการเข้า
jedixxx
ก๊วนเสียว
*

พลังน้ำใจ: 5
ออฟไลน์ ออฟไลน์

กระทู้: 254



ดูรายละเอียด
« ตอบ #10 เมื่อ: 09 กันยายน 2008, 14:33:32 »

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

ว่าท่านเขียนมาแนวไหน เผื่อจะช่วยได้ครับ Smiley
บันทึกการเข้า

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

-รับทำเว็บไซต์ด้วย PHP, MySQL สนใจติดต่อได้ครับ
john007
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 18
ออฟไลน์ ออฟไลน์

กระทู้: 1,644



ดูรายละเอียด เว็บไซต์
« ตอบ #11 เมื่อ: 10 กันยายน 2008, 16:00:43 »

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

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

บันทึกการเข้า

thenetxx
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 41
ออฟไลน์ ออฟไลน์

กระทู้: 1,986



ดูรายละเอียด เว็บไซต์
« ตอบ #12 เมื่อ: 10 กันยายน 2008, 16:27:13 »

โค๊ด:
$linkArr = array (
'1html',
'2html',
);

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


//ดูค่าที่ได้
print_r($content);
บันทึกการเข้า

Develop site but can't develop life
ASIA
Tee++;
โปรแกรมเมอร์ จอหงวน
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 79
ออฟไลน์ ออฟไลน์

กระทู้: 1,861



ดูรายละเอียด เว็บไซต์
« ตอบ #13 เมื่อ: 10 กันยายน 2008, 21:40:23 »

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

$url = (string)trim($array[0]);
บันทึกการเข้า

หน้า: [1]   ขึ้นบน
พิมพ์