A-AA+then

ถามเรื่องการสร้างโฟเดอร์ด้วย php ด้วยครับ -- ซํ้าใครขอโทษนะครับ

1,995
ถามเรื่องการสร้างโฟเดอร์ด้วย php ด้วยครับ อยากถามท่านกรกฏครับว่าพอแนะนำได้ไหมครับ คือแบบนี้ผมสร้างระบบลงทะเบียนครับ เมื่อกด submit อยากให้ระบบมันสร้างโฟอเดอร์ของ User ครับ เพื่อกำหนดเป็น Subdomain พอมีสคริ๊ปตัวอย่างให้ไหมครับว่า php มันสร้างโฟอเดรอืได้อย่างๆไร รบกวนขอละเอียดด้วยนะครับ มือใหม่

ขอบพระคุณมากครับ

9 ความคิดเห็น

ครับพอดีไปเห็นบทความมาพอดีครับ

<?php
 // แยกเอาชื่อ subdomain ออกมา
 $subdomain = preg_replace( '/(.*?)[\.]?localhost\.com/isu' , '' , $_SERVER[HTTP_HOST] );

 // ถ้าไม่ได้กำหนด subdomain มาให้เป็น www
 // เช่น http://localhost.com
 $subdomain = ( $subdomain == '' ) ? 'www' : $subdomain;

 //แสดงผล subdomain ที่เรียก
 echo "subdomain=$subdomain";

 // เรียกไปยังไดเร็คทอรี่ชื่อ subdomain
 // เช่น www ให้เรียกใช้ไฟล์ www/index.php
 include( "$subdomain/index.php" );
?>

ขอสอบถามเลยละกันนะครับจากโค๊ดนี้ $subdomain = preg_replace( '/(.*?)[\.]?localhost\.com/isu' , '' , $_SERVER[HTTP_HOST] );

ตัวนี้
/isu   คือชื่อของโฟเดอร์หรืออะไรเหรอครับ  งง

1

isu เป็น flag ของ preg_replace ครับ ไม่เกี่ยวกับสิ่งที่ถาม

การสร้างโฟลเดอร์ด้วย PHP ใช้ฟังก์ชั่น

bool mkdir ( string $pathname [, int $mode [, bool $recursive [, resource $context ]]] )

ครับ

$pathname  คือชื่อโฟลเดอร์รวม path ที่ต้องการครับ
2

ขอบคุณมากเลยนะครับ ผมขอละเอียดกว่านี้ได้ไหมครับผมมือใหม่ครัย ยังไม่เข้าใจเท่าไหร่ครับ หรือถ้าไม่เป็นการรบกวนพี่มากนักขอโค๊ด ค่าส่ง และ ค่ารับ ในการสร้างด้วยครับ ขอบคุณมากครับ
3

โค้ดมีแค่เท่าที่เห็นครับ ในตัวอย่างเป็นการแยกออกมาว่า เราจะรู้ได้ไงว่า subdomain ไหนเป็นคนเรียกมา ส่วนการใช้งานจริง จะซับซ้อนกว่านี้หลายเท่าครับ ต้องอ่านหลายๆบทความประกอบกัน รวมถึงต้องประยุกต์ใช้ด้วยครับ เช่น

1.ต้องศึกษาว่า จะสร้าง dynamic subdomain บน host จริงๆ ได้อย่างไร
2.ต้องศึกษาการใช้งาน mod_rewrite
3.สร้างโฟลเดอร์ของ user
4.จะรู้ได้ไงว่าเป็น subdomain ไหนเรียกมา
5.จะเอาไปใช้ได้ยังไง

ทั้งหมดคงต้องอาศัยการทำความเข้าใจประกอบกัน มันถึงจะทำงานได้ครับ ถ้าเป็นมือใหม่ มันอาจจะยากไปครับ ดังนั้น มีทางเดียวคือ ต้องหมั่นศึกษาให้เป็น มือเก่ากว่านี้สักหน่อย

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

ยังไงต้องขอขอบคุณมากเลยครับที่กรุณาตอบคำถามผม  ผมมีคำถามอีกครับว่า  เช่นURL  www.sample.com/ index.php?user=abcde ผมใช้ htaccess ในการติดให้เป็นโฟลเดอร์แบบนี้ได้ไหมครับเป็น www.sample.com/abcd/ เลยครับ แล้วก็เรียกเป็น sub domain แทนแบบนี้ได้ไหมครับ
5

ได้ครับ ไม่มีปัญหา สามารถใช้ mod_rewrite ได้ วิธีการไม่ยุ่งยาก แต่มันอาจจะยากอีตรงที่ เราจะไม่สามารถมีโฟลเดอร์ชื่อเดียวกันกับ url ที่เรียกได้ รวมถึง หากทำการเรียกไปยัง path อื่นๆ ที่มีอยู่จริง อาจจะผิดพลาดได้เช่น

http://xxx.com/member/index.php

อาจเป็น path จริงๆ แต่ mod_rewrite อาจมองเห็นเป็น user ที่ชื่อ member ก็ได้

http:/xxx.com/index.php?user=member

แต่วิธีการนี้ก็เป็นวิธีที่ง่ายสุดแล้วครับ แล้วก็ยุ่งยากน้อยที่สุดครับ ต้องลองทำดูครับ
6

ครับ  แล้วเราต้องไป config ที่ตัว Apache ด้วยใช่ไหมครับ  httpd.conf เปิด Services ของ mod_rewrite ใช่ไหมครับ  จากที่พี่ได้ตอบว่า http://xxx.com/member/index.php   นะครับ ผมใช้ .htaccess ตัดเลยแล้วเรียกแบบนี้ได้ไหม http://member.xxx.com/  ได้เลยไหมครับ. แล้วมัน host เราจะรู้จ้ักใช่ไหมครับ  หรือมีตัวอย่าง htaccess code ให้เป็นตัวอย่างไหมครับ.
7

http://member.xxx.com/ แบบนี้เป็น sub domain ค้อง set ทั้งที่ apache และ โค้ดครับ ส่วน http://xxx.com/member/ สามารถใช้ได้เลยครับ ไม่ต้อง config อะไรเพิ่มเติม

ส่วน .htaccess นั้นมันคนละเรื่องกันครับ ให้ลองทดสอบดูว่าใช้ได้หรือไม่ ถ้าใช้ไม่ได้ก็ให้เข้าไปเปิดใช้ที่ httpd.config นั่นแหละครับ

บทความต่างๆที่เกี่ยวข้องมีอยู่บนเว็บครับ ลองหาอ่านดูครับ โดยอ่านจากหลายๆบทความประกอบกันครับ
8

Ok ครับขอบพระคุณมากครับ.
9
^