Bài viết này sẽ thảo luận về cách đọc tệp JSON và hiển thị chi tiết ở định dạng bảng bằng PHP. Để sử dụng hàm PHP file_get_contents[] chúng ta có thể đọc một tệp và lấy dữ liệu có trong tệp JSON. Sau khi lấy dữ liệu cần chuyển định dạng JSON sang định dạng mảng. Sau đó, với việc sử dụng câu lệnh lặp sẽ hiển thị dưới dạng bảng
Tệp đầu vào JSON - tệp. json
[
{ "name":"xxxx","age":"23","gender":"female","education":"BTech","occupation":"developer"},
{ "name":"YYYY","age":"30","gender":"male","education":"BE","occupation":"programmer"},
{ "name":"zzz","age":"20","gender":"female","education":"MBA","occupation":"HR"},
{ "name":"XYZ","age":"40","gender":"male","education":"CA","occupation":"auditor"}
]
Đoạn mã dưới đây sẽ xác nhận xem có tệp JSON hay không. Nếu không có tệp JSON, nó sẽ hiển thị "Không tìm thấy tệp JSON"
Trong bài viết này, tôi sẽ giải thích cách viết và nối thêm dữ liệu vào tệp JSON trong khi gửi biểu mẫu. Ở đây, bằng cách sử dụng một số hàm PHP, chúng tôi sẽ thêm dữ liệu ở định dạng JSON. Tôi có một biểu mẫu HTML đơn giản với một số hộp nhập liệu như tên, giới tính, tuổi, v.v.
Sử dụng tập lệnh PHP, chúng ta có thể lưu trữ một giá trị biểu mẫu ở định dạng mảng. Sau đó sẽ chuyển đổi mảng thành dữ liệu JSON bằng hàm được xác định trước json_encode[]. Sau đó, cuối cùng chúng ta có thể di chuyển dữ liệu sang tệp định dạng JSON
Trong đoạn mã dưới đây là biểu mẫu HTML của tôi được cung cấp
User Details
Name
Gender
Male
Female
Age
Education
Designation
DOB
Trong khi gửi một biểu mẫu chúng ta có thể xác thực các giá trị đầu vào POST param thông số bằng cách sử dụng tập lệnh PHP
if[empty[$_POST["name"]]]
{
$error = "Enter Name";
}
else if[empty[$_POST["gender"]]]
{
$error = "Enter Gender";
}
else if[empty[$_POST["education"]]]
{
$error = "Enter education";
} else if[empty[$_POST["designation"]]]
{
$error = "Enter Designation";
}
else if[empty[$_POST["age"]]]
{
$error = "Enter age";
}
Khi tất cả dữ liệu được xác thực, chúng tôi cần thêm vào tệp JSON. Vì vậy, sử dụng hàm mảng, tất cả dữ liệu được lưu trữ ở định dạng mảng và sau đó nó chuyển đổi thành dữ liệu JSON bằng cách sử dụng hàm json_encode[]
Nếu tệp đã tồn tại, chúng tôi có thể nối nó với dữ liệu cũ đó. hàm file_get_contents[] sẽ lấy dữ liệu hiện tại trong một tệp, sau đó chúng ta có thể thêm dữ liệu mới. Trong trường hợp chúng tôi không có tệp sẽ tạo tệp mới và ghi dữ liệu theo cách tương tự
Nếu bạn chưa biết, JSON có thể ở định dạng tệp. Chúng được đặt tên giống như sau – VitalLogicData. json. Nó hầu như là một tệp văn bản nhưng chứa dữ liệu được định dạng tốt theo kiểu Ký hiệu đối tượng JavaScript. Các tệp này có thể được đọc từ hoặc, tất nhiên, cũng được thêm vào
Lần đầu tiên tôi nhìn thấy. json tôi khá bối rối, tôi luôn nghĩ rằng JSON chỉ thuộc về trình duyệt. Nhưng có nhiều nguyên nhân dẫn đến file JSON nên chúng ta cần biết cách quản lý chúng. Bài viết này sẽ cung cấp cho bạn kiến thức để đọc các tệp JSON bằng PHP và đó là một hướng dẫn lý tưởng cho người mới bắt đầu
Dữ liệu tệp JSON
Đối với hướng dẫn này, tôi đã tìm thấy một kho lưu trữ hoàn hảo trên GitHub. Nó chứa một danh sách khổng lồ các tên màu và Số Hex của chúng. Bạn có thể lấy css-color-names. json từ repo tại đây. Hoặc bạn có thể tải file trực tiếp tại đây
Như bạn sẽ thấy trong tệp, nội dung sẽ được trình bày như đoạn mã sau –
{
"aliceblue": "#f0f8ff",
"antiquewhite": "#faebd7",
"aqua": "#00ffff",
"aquamarine": "#7fffd4",
"azure": "#f0ffff",
"beige": "#f5f5dc",
"bisque": "#ffe4c4",
"black": "#000000",
......
}
Sau khi tải xuống, hãy đặt tệp vào thư mục gốc của môi trường trang web PHP của bạn. Ví dụ http. // localhost/css-color-name. json. Điều này sẽ giúp dễ tìm hơn khi chúng tôi đang cố đọc tệp qua PHP
Đọc tệp JSON bằng ví dụ PHP
Trong ví dụ sau, chúng ta sẽ sử dụng PHP để đọc dữ liệu từ tệp CSS-color-names. Sau đó, khi chúng tôi đã in thành công dữ liệu lên trang, chúng tôi sẽ đưa dữ liệu vào các thẻ JavaScript và ghi dữ liệu đó vào bảng điều khiển. Bắt đầu nào
Đầu tiên, chúng ta cần đọc nội dung tệp bằng hàm gốc của PHP file_get_contents. Tham số đầu tiên file_get_contents mong đợi là đường dẫn đến tệp cần đọc. Trong trường hợp này, CSS-color-names. json
Lưu ý rằng không cần chỉ định thư mục gốc, vì trong trường hợp này, tập lệnh đã nằm trong thư mục đó rồi
Đọc nội dung tệp JSON// Get the contents of the JSON file
$strJsonFileContents = file_get_contents["css-color-names.json"];
var_dump[$strJsonFileContents]; // show contents
Đoạn mã trên kết xuất phần sau vào trang -
string '{
"aliceblue": "#f0f8ff",
"antiquewhite": "#faebd7",
"aqua": "#00ffff",
"aquamarine": "#7fffd4",
"azure": "#f0ffff",
"beige": "#f5f5dc",
"bisque": "#ffe4c4",
"black": "#000000",
"blanchedalmond": "#ffebcd",
"blue": "#0000ff",
"blueviolet": "#8a2be2",
"brown": "#a52a2a",
"burlywood": "#deb887",
"cadetblue": "#5f9ea0",
"chartreuse": "#7fff00",
"chocolate": "#d2691e",
"coral": "#ff7f50",
"cornflowerblue": "#6495ed",
"cornsilk": "#fff8dc",
"crimson": "#dc143c",
"cyan": '.. [length=3841]
Tôi biết suy nghĩ của bạn, nó thực sự đơn giản như vậy sao? . Tôi sẽ làm cả hai trong các ví dụ sau
Chuyển đổi nội dung tệp JSON thành mảng PHPMột chuỗi JSON trong PHP khá vô dụng, vì vậy nếu chúng ta chuyển đổi nó thành một mảng, thì chúng ta có thể lặp lại nó và thực hiện một số thao tác thú vị với dữ liệu. Bạn có thể muốn lưu trữ nó trong cơ sở dữ liệu hoặc in nó ra một bảng HTML. Dù bạn muốn làm gì, trước tiên nó sẽ cần phân tích cú pháp thành một mảng. Để làm điều này, chúng tôi sử dụng json_decode với tham số Boolean tuyệt vời của nó để chuyển đổi thành một mảng kết hợp
// Get the contents of the JSON file
$strJsonFileContents = file_get_contents["css-color-names.json"];
// Convert to array
$array = json_decode[$strJsonFileContents, true];
var_dump[$array]; // print array
Mã PHP ở đây sẽ in toàn bộ mảng kết hợp ra trang như sau –
array [size=148]
'aliceblue' => string '#f0f8ff' [length=7]
'antiquewhite' => string '#faebd7' [length=7]
'aqua' => string '#00ffff' [length=7]
'aquamarine' => string '#7fffd4' [length=7]
'azure' => string '#f0ffff' [length=7]
.......
Điều này bây giờ có nghĩa là chúng ta có thể dễ dàng truy cập từng màu theo tên được chỉ định của chúng và trả về giá trị Hệ thập lục phân có thể được sử dụng trong CSS chẳng hạn. Sử dụng đoạn mã sau, chúng ta có thể yêu cầu màu aqua hex từ mảng. Tất nhiên, điều này mở ra các cửa sổ cơ hội mới cho ứng dụng
________số 8_______Tiêm JSON vào JavaScriptChín trong số mười lần, làm việc với Ký hiệu đối tượng JavaScript có nghĩa là rất có thể bạn sẽ cần nó cho một số chức năng JavaScript. Đây là lý do tại sao tôi muốn trình bày nhanh cách đưa dữ liệu trực tiếp vào một biến JavaScript bằng PHP. Nó khá đơn giản để làm
Bằng cách sử dụng PHP trong các thẻ tập lệnh, chúng tôi có thể lặp lại dữ liệu trong khi xác định biến JavaScript. Đổi lại, JSON sẽ được phân tích cú pháp và sẵn sàng sử dụng. Xem ví dụ sau –
var colorsJson = ; // Pass in json from PHP
console.info[colorsJson]; // Log to console.
console.log[colorsJson.aqua]; // Log single value to console.
Ảnh chụp màn hình bên dưới hiển thị đầu ra của bảng điều khiển trong Chrome. JSON đã được phân tích cú pháp chính xác và hiện có sẵn để truy cập các thuộc tính bằng ký hiệu dấu chấm
Người giới thiệu
Trong suốt các ví dụ, trong bài viết này, một số hàm PHP gốc đã được sử dụng để đọc tệp JSON. Dưới đây là liên kết trực tiếp đến tài liệu của các hàm đó trên trang web PHP. Kiểm tra chúng để tham khảo
- file_get_contents
- json_decode
Tóm lược
Trong hướng dẫn này, chúng tôi đã học được rằng bạn có thể đọc các tệp Ký hiệu đối tượng JavaScript trực tiếp trong PHP. Nó không chỉ có khả năng làm như vậy và thậm chí có thể phân tích cú pháp để sử dụng tiếp, như được hiển thị khi được chuyển đổi thành một mảng. Ngoài ra, việc chuyển dữ liệu trực tiếp vào JavaScript đã được giải thích, cung cấp cho bạn các công cụ để sau đó xây dựng những thứ như trực quan hóa hoặc chuyển vào lệnh gọi ajax