คำถามติดแท็ก php

PHP เป็นภาษาสคริปต์ที่ใช้กันอย่างแพร่หลายในระดับสูงมีการเปลี่ยนแปลงเชิงวัตถุและมีการตีความที่ออกแบบมาเพื่อการพัฒนาเว็บเซิร์ฟเวอร์เป็นหลัก ใช้สำหรับคำถามเกี่ยวกับภาษา PHP

5
ยกตัวอย่างคลาสจากตัวแปรใน PHP หรือไม่?
ฉันรู้ว่าคำถามนี้ฟังดูค่อนข้างคลุมเครือดังนั้นฉันจะทำให้ชัดเจนขึ้นด้วยตัวอย่าง: $var = 'bar'; $bar = new {$var}Class('var for __construct()'); //$bar = new barClass('var for __construct()'); นี่คือสิ่งที่ฉันต้องการจะทำ คุณจะทำอย่างไร ฉันสามารถใช้ eval () ได้เช่นนี้: $var = 'bar'; eval('$bar = new '.$var.'Class(\'var for __construct()\');'); แต่ฉันอยากอยู่ให้ห่างจาก eval () มีวิธีการทำเช่นนี้โดยไม่ต้อง eval ()?
146 php  class  variables  eval 

10
วิธีลบตัวแบ่งบรรทัด (ไม่มีอักขระ!) ออกจากสตริง?
สิ่งนี้อาจดูเหมือนเป็นล่อลวง แต่มั่นใจได้ว่าไม่ใช่ - ฉันได้ค้นหาทั้ง SO และส่วนที่เหลือของเว็บเพื่อหาคำตอบสำหรับปัญหาของฉันและจบลงด้วยการหาวิธีแก้ปัญหาที่ไม่เพียงพอเหมือนเดิม อย่างไรก็ตามมันจะไปที่นี่: ฉันบันทึกการป้อนข้อมูลของผู้ใช้จาก textarea ไปยังฐานข้อมูล MySQL (ภายในสภาพแวดล้อม WordPress แต่นั่นไม่น่าจะมีความสำคัญกับปัญหานี้ฉันเชื่อ) จะถูกเรียกคืนจากฐานข้อมูลเพื่อแสดงต่อผู้ดูแลระบบในส่วนหลังของไซต์ ปัญหาเกิดขึ้นเมื่อผู้ใช้ส่งข้อความที่มีตัวแบ่งบรรทัด (เช่นกดปุ่ม Enter) สตริงตัวอย่างอาจมีลักษณะเช่นนี้: Dear friends, I just wanted so Hello. How are you guys? I'm fine, thanks! Greetings, Bill ไม่มีจุดสิ้นสุดของอักขระบรรทัด ("\ n", "\ r" หรือสิ่งที่คล้ายกัน) ในสตริง ฉันใช้nl2br()มันเพื่อสร้างเอาต์พุต HTML แต่ยังไม่เพียงพอ ผลลัพธ์ก็คือ: Dear friends, I just …
146 php  html  replace  line-breaks  nl2br 

15
วิธีรับรายการแรกจากอาเรย์ PHP แบบเชื่อมโยงได้อย่างไร
ถ้าฉันมีอาร์เรย์เช่น: $array['foo'] = 400; $array['bar'] = 'xyz'; และฉันต้องการเอาไอเท็มแรกออกจากอาร์เรย์นั้นโดยไม่ทราบว่ามีกุญแจสำหรับมันฉันจะทำอย่างไร มีฟังก์ชั่นนี้หรือไม่?
146 php 

11
รับวัตถุ JSON จาก URL
ฉันมี URL ที่ส่งคืนวัตถุ JSON เช่นนี้: { "expires_in":5180976, "access_token":"AQXzQgKTpTSjs-qiBh30aMgm3_Kb53oIf-VA733BpAogVE5jpz3jujU65WJ1XXSvVm1xr2LslGLLCWTNV5Kd_8J1YUx26axkt1E-vsOdvUAgMFH1VJwtclAXdaxRxk5UtmCWeISB6rx6NtvDt7yohnaarpBJjHWMsWYtpNn6nD87n0syud0" } ฉันต้องการได้รับaccess_tokenค่า ดังนั้นฉันจะดึงมันผ่าน PHP ได้อย่างไร?
146 php  json 

22
PDO ที่เตรียมไว้แทรกหลายแถวในแบบสอบถามเดียว
ขณะนี้ฉันใช้ SQL ประเภทนี้บน MySQL เพื่อแทรกค่าหลายแถวในแบบสอบถามเดียว: INSERT INTO `tbl` (`key1`,`key2`) VALUES ('r1v1','r1v2'),('r2v1','r2v2'),... ในการอ่านใน PDO คำสั่งที่เตรียมไว้ควรให้ความปลอดภัยที่ดีกว่าแบบสอบถามแบบคงที่ ฉันต้องการทราบว่าเป็นไปได้หรือไม่ที่จะสร้าง "การแทรกค่าหลายแถวโดยใช้การค้นหาหนึ่งคำ" โดยใช้คำสั่งที่เตรียมไว้ ถ้าใช่ฉันจะรู้ได้อย่างไรว่าฉันจะใช้มันได้อย่างไร

12
PHP ตัวคั่นหลายตัวในการระเบิด
ฉันมีปัญหาฉันมีอาร์เรย์สตริงและฉันต้องการระเบิดในตัวคั่นที่แตกต่างกัน ตัวอย่างเช่น $example = 'Appel @ Ratte'; $example2 = 'apple vs ratte' และฉันต้องการอาร์เรย์ที่ระเบิดใน @ หรือเทียบกับ ฉันได้เขียนวิธีการแก้ปัญหาแล้ว แต่ถ้าทุกคนมีทางออกที่ดีกว่าโปรดโพสต์ที่นี่ private function multiExplode($delimiters,$string) { $ary = explode($delimiters[0],$string); array_shift($delimiters); if($delimiters != NULL) { if(count($ary) <2) $ary = $this->multiExplode($delimiters, $string); } return $ary; }
146 php  explode 

12
การวัดระยะทางระหว่างสองพิกัดใน PHP
สวัสดีฉันต้องการคำนวณระยะทางระหว่างจุดสองจุดที่มีละติจูดและลองจิจูด ฉันต้องการหลีกเลี่ยงการเรียก API ภายนอกใด ๆ ฉันพยายามใช้สูตร Haversine ใน PHP: นี่คือรหัส: class CoordDistance { public $lat_a = 0; public $lon_a = 0; public $lat_b = 0; public $lon_b = 0; public $measure_unit = 'kilometers'; public $measure_state = false; public $measure = 0; public $error = ''; public function DistAB() { $delta_lat …

11
ลบสตริงออกจากจุดเริ่มต้นของสตริง
ฉันมีสตริงที่มีลักษณะเช่นนี้: $str = "bla_string_bla_bla_bla"; ฉันจะลบอันแรกออกได้bla_อย่างไร; แต่ถ้าพบที่จุดเริ่มต้นของสตริงหรือไม่ ด้วยstr_replace()ก็เอาทั้งหมด bla_ของ
146 php  string 

11
ส่วนหัวคำขอข้ามแหล่งกำเนิด (CORS) ด้วยส่วนหัว PHP
ฉันมีสคริปต์ PHP ง่าย ๆ ที่ฉันพยายามขอ CORS ข้ามโดเมน: <?php header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Headers: *"); ... แต่ฉันยังคงได้รับข้อผิดพลาด: X-Requested-Withไม่อนุญาตให้ใช้ฟิลด์ส่วนหัวคำขอAccess-Control-Allow-Headers มีอะไรฉันหายไป?

1
การแปลงคำขอ POSTMAN เป็น Curl
ฉันกำลังเรียกใช้ java webservice (คำขอ POST) ผ่าน POSTMAN ในลักษณะต่อไปนี้ซึ่งทำงานได้ดีอย่างสมบูรณ์ (เช่นฉันสามารถเห็นบันทึกของฉันถูกแทรกลงในฐานข้อมูล): และนี่คือลักษณะของเนื้อหาภายในHeaders(1)แท็บ: แทนที่จะเรียกผ่าน POSTMAN ฉันต้องเรียกคำขอเดียวกันใน PHP โดยใช้ CURL ฉันสงสัยว่ามีวิธีส่งออกคำสั่งนี้เป็นคำcurlสั่งเพื่อให้ฉันสามารถใช้ในโค้ด PHP ได้หรือไม่? ฉันพบวิธีที่ตรงกันข้ามในหลาย ๆ ที่ทางออนไลน์ที่มีคนขอให้แปลงคำขอที่ใช้ Curl เป็น POSTMAN แต่คิดไม่ออกว่าจะทำตรงกันข้ามได้อย่างไร ฉันพบบางบทความสำหรับ curl ถึงบุรุษไปรษณีย์
146 php  curl  postman 

21
ทำไม $ _FILES จะว่างเปล่าเมื่ออัปโหลดไฟล์ไปยัง PHP
ฉันติดตั้ง WampServer 2 บนคอมพิวเตอร์ Windows 7 ของฉันแล้ว ฉันใช้ Apache 2.2.11 และ PHP 5.2.11 เมื่อฉันพยายามอัปโหลดไฟล์ใด ๆ จากแบบฟอร์มดูเหมือนว่าจะอัปโหลด แต่ใน PHP $_FILESอาร์เรย์จะว่างเปล่า ไม่มีไฟล์ในc:\wamp\tmpโฟลเดอร์ ฉันได้กำหนดค่าphp.iniให้อนุญาตการอัปโหลดไฟล์และอื่น ๆ tmpโฟลเดอร์ได้อ่าน / เขียนสิทธิพิเศษสำหรับผู้ใช้ปัจจุบัน ฉันนิ่งงัน HTML: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <form enctype="multipart/form-data" action="vanilla-upload.php" method="POST"> Choose a file to upload: <input name="uploadedfile" type="file" /><br /> …
145 php  apache  file-upload 

5
PHP Session Fixation / Hijacking
ฉันกำลังพยายามทำความเข้าใจเพิ่มเติมเกี่ยวกับ PHP Session Fixation & hijacking และวิธีป้องกันปัญหาเหล่านี้ ฉันได้อ่านบทความสองเรื่องต่อไปนี้บนเว็บไซต์ของ Chris Shiflett: การแก้ไขเซสชัน เซสชั่นหักหลัง อย่างไรก็ตามฉันไม่แน่ใจว่าฉันเข้าใจสิ่งต่าง ๆ อย่างถูกต้อง เพื่อช่วยป้องกันการแก้ไขเซสชันเพียงพอที่จะเรียก session_regenerate_id (จริง); หลังจากลงชื่อเข้าใช้บางคนสำเร็จแล้ว ฉันคิดว่าฉันเข้าใจถูกต้อง นอกจากนี้เขายังพูดถึงการใช้โทเค็นที่ส่งผ่านไปใน URL ผ่าน $ _GET เพื่อป้องกันการขโมยเซสชัน สิ่งนี้จะเกิดขึ้นได้อย่างไร ฉันคาดเดาว่าเมื่อมีคนลงชื่อเข้าใช้คุณสร้างโทเค็น & เก็บไว้ในตัวแปรเซสชันแล้วในแต่ละหน้าคุณจะเปรียบเทียบตัวแปรเซสชันนั้นกับค่าของตัวแปร $ _GET หรือไม่ โทเค็นนี้จำเป็นต้องเปลี่ยนเพียงหนึ่งครั้งต่อเซสชันหรือในแต่ละหน้าโหลดหรือไม่ ยังเป็นวิธีที่ดีในการป้องกันการหักหลังโดยไม่ต้องผ่านค่าตามใน urls? มันจะง่ายขึ้นมาก

22
ฉันจะลบจากจุดเริ่มต้นของไฟล์ได้อย่างไร
ฉันมีไฟล์ CSS ที่ดูดีเมื่อฉันเปิดมันโดยใช้geditแต่เมื่อมันถูกอ่านโดย PHP (เพื่อรวมไฟล์ CSS ทั้งหมดไว้ในไฟล์เดียว) CSS นี้มีตัวอักษรต่อไปนี้ที่เสริมไว้:  PHP ลบช่องว่างทั้งหมดดังนั้นการสุ่มที่อยู่ตรงกลางของโค้ดทำให้เกิดความวุ่นวายขึ้น ดังที่ฉันได้กล่าวไปแล้วฉันไม่สามารถเห็นตัวละครเหล่านี้ได้เมื่อฉันเปิดไฟล์ด้วย gedit ดังนั้นฉันจึงไม่สามารถลบออกได้อย่างง่ายดาย ฉันพบปัญหาและเห็นได้ชัดว่ามีสิ่งผิดปกติเกิดขึ้นกับการเข้ารหัสไฟล์ซึ่งทำให้รู้สึกว่าฉันเปลี่ยนไฟล์ไปยังเซิร์ฟเวอร์ Linux / Windows ที่แตกต่างกันผ่านทาง ftp และrsyncพร้อมโปรแกรมแก้ไขข้อความ ฉันไม่รู้เกี่ยวกับการเข้ารหัสอักขระมากนักดังนั้นความช่วยเหลือจะได้รับการชื่นชม หากช่วยได้ไฟล์จะถูกบันทึกในรูปแบบ UTF-8 และ gedit จะไม่ให้ฉันบันทึกในรูปแบบ ISO-8859-15 (เอกสารมีอักขระอย่างน้อยหนึ่งตัวที่ไม่สามารถเข้ารหัสโดยใช้การเข้ารหัสอักขระที่ระบุ) ฉันพยายามบันทึกด้วยปลาย Windows และ Linux แต่ก็ไม่ได้ช่วยอะไร

20
Laravel 5.5 ajax call 419 (ไม่ทราบสถานะ)
ฉันโทร ajax แต่ได้รับข้อผิดพลาดนี้: 419 (ไม่ทราบสถานะ) ไม่รู้ว่าอะไรเป็นสาเหตุของสิ่งนี้ที่ฉันเห็นในโพสต์อื่น ๆ มันต้องทำอะไรกับโทเค็น csrf แต่ฉันไม่มีรูปแบบดังนั้นฉันไม่รู้จะแก้ไขได้อย่างไร สายของฉัน: $('.company-selector li > a').click(function(e) { e.preventDefault(); var companyId = $(this).data("company-id"); $.ajax({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') }, url: '/fetch-company/' + companyId, dataType : 'json', type: 'POST', data: {}, contentType: false, processData: false, success:function(response) { console.log(response); } }); }); เส้นทางของฉัน: Route::post('fetch-company/{companyId}', …
145 php  jquery  ajax  laravel 


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.