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

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

14
ทำไม require_once แย่มากที่จะใช้
ทุกอย่างที่ฉันอ่านเกี่ยวกับการเขียนโค้ด PHP ที่ดีขึ้นนั้นบอกว่าอย่าใช้require_onceเพราะความเร็ว ทำไมนี้ วิธีที่เหมาะสม / ดีกว่าที่จะทำสิ่งเดียวกันrequire_onceคืออะไร? หากเป็นเรื่องสำคัญฉันกำลังใช้ PHP 5

14
สคริปต์ PHP - ตรวจสอบว่าทำงานภายใต้ linux หรือ Windows หรือไม่
ฉันมีสคริปต์ PHP ที่อาจวางไว้ในระบบ windows หรือระบบ linux ฉันต้องการเรียกใช้คำสั่งที่แตกต่างกันในทั้งสองกรณี ฉันจะตรวจสอบสภาพแวดล้อมที่ฉันอยู่ได้อย่างไร (โดยเฉพาะอย่างยิ่ง PHP มากกว่าการแฮ็กระบบที่ฉลาด) ปรับปรุง เพื่อชี้แจงสคริปต์กำลังทำงานจากบรรทัดคำสั่ง

12
move_uploaded_file ให้ข้อผิดพลาด“ ไม่สามารถเปิดสตรีม: การอนุญาตถูกปฏิเสธ”
ฉันได้รับข้อผิดพลาดนี้เมื่อพยายามกำหนดค่าไดเรกทอรีอัปโหลดด้วย Apache 2.2 และ PHP 5.3 บน CentOS ใน php.ini: upload_tmp_dir = /var/www/html/mysite/tmp_file_upload/ ใน httpd.conf: Directory /var/www/html/mysite/tmp_file_upload/> Options -Indexes AllowOverride None Order allow,deny Allow from all </Directory> <Directory /var/www/html/mysite/images/> Options -Indexes </Directory> สิทธิ์ของไดเรกทอรี CentOS: drwxrwxr-x 2 root root 4096 Nov 11 10:01 images drwxr-xr-x 2 root root 4096 Nov 12 …


4
Laravel-5 'LIKE' ที่เทียบเท่า (Eloquent)
ฉันใช้โค้ดด้านล่างเพื่อดึงผลลัพธ์บางอย่างจากฐานข้อมูลด้วย Laravel 5 BookingDates::where('email', Input::get('email'))->orWhere('name', 'like', Input::get('name'))->get() อย่างไรก็ตาม orWhereLike ดูเหมือนจะไม่ตรงกับผลลัพธ์ใด ๆ โค้ดนั้นผลิตอะไรในแง่ของคำสั่ง MySQL? ฉันพยายามที่จะบรรลุสิ่งดังต่อไปนี้: select * from booking_dates where email='my@email.com' or name like '%John%'
143 php  mysql  laravel-5 

5
PHP foreach เปลี่ยนค่าอาร์เรย์เดิม
ฉันใหม่มากในอาร์เรย์หลายมิติและนี่เป็นเรื่องใหญ่สำหรับฉัน อาร์เรย์ของฉันเป็นดังนี้: $fields = array( "names" => array( "type" => "text", "class" => "name", "name" => "name", "text_before" => "name", "value" => "", "required" => true, ) ) จากนั้นฉันได้รับการตรวจสอบฟังก์ชั่นว่าอินพุตเหล่านี้เต็มไปด้วยถ้าจำเป็น function checkForm($fields){ foreach($fields as $field){ if($field['required'] && strlen($_POST[$field['name']]) <= 0){ $fields[$field]['value'] = "Some error"; } } return $fields; } ตอนนี้ปัญหาของฉันคือบรรทัดนี้ $fields[$field]['value'] …
143 php  arrays  foreach 

8
ส่งแบบฟอร์มในแท็บใหม่
ฉันต้องการ (เพียงเพื่อทดสอบฟังก์ชั่นบางอย่างหลังจากที่ฉันหลีกเลี่ยงพฤติกรรมนี้) เพื่อโหลดหน้าเว็บที่เรียกโดยส่งบนแท็บใหม่: เป็นไปได้หรือไม่
143 php  jquery  forms  http-post 

14
รหัส Visual Studio PHP Intelephense Keep แสดงข้อผิดพลาดที่ไม่จำเป็น
หลังจากอัพเดตล่าสุดของ PHP Intelephense ที่ฉันได้รับในวันนี้ intelephense ยังคงแสดงข้อผิดพลาดสำหรับสัญลักษณ์ที่ไม่ได้กำหนดสำหรับเส้นทางของฉัน (และคลาสอื่น ๆ ด้วย) ไม่มีข้อผิดพลาดเช่นนี้มาก่อนและมันก็รบกวนฉัน นี่คือภาพหน้าจอข้อผิดพลาด: และนี่คือรหัสของฉัน: Route::group(['prefix' => 'user', 'namespace' => 'Membership', 'name' => 'user.'], function () { Route::get('profile', 'ProfileController@show')->name('profile.show'); Route::patch('profile', 'ProfileController@update')->name('profile.update'); Route::patch('change-password', 'ChangePasswordController@change')->name('change-password'); Route::get('role', 'ProfileController@getRole')->name('profile.role'); Route::get('summary', 'SummaryController@show')->name('summary'); Route::get('reserved', 'AuctionController@reservedAuction')->name('reserved'); }); ที่จริงแล้วไม่มีข้อผิดพลาดในรหัสนี้ แต่ intelephense ยังคงแสดงข้อผิดพลาดจึงมีวิธีการแก้ไขหรือไม่

30
วิธีรับ substring ระหว่างสองสายใน PHP?
ต้องการปรับปรุงโพสต์นี้หรือไม่? ให้คำตอบโดยละเอียดสำหรับคำถามนี้รวมถึงการอ้างอิงและคำอธิบายว่าทำไมคำตอบของคุณถึงถูกต้อง คำตอบที่ไม่มีรายละเอียดเพียงพออาจแก้ไขหรือลบออกได้ ฉันต้องการฟังก์ชั่นที่คืนค่าสตริงย่อยระหว่างสองคำ (หรือสองตัวอักษร) ฉันสงสัยว่ามีฟังก์ชั่น php หรือไม่ ฉันไม่ต้องการคิดเกี่ยวกับ regex (ดีฉันสามารถทำได้ แต่ไม่คิดว่ามันเป็นวิธีที่ดีที่สุดที่จะไป) การคิดstrposและsubstrหน้าที่ นี่คือตัวอย่าง: $string = "foo I wanna a cake foo"; เราเรียกฟังก์ชั่น: $substring = getInnerSubstring($string,"foo"); มันคืน: "ฉันอยากได้เค้ก" ขอบคุณล่วงหน้า. Update: อืมจนถึงตอนนี้ฉันสามารถรับสายย่อยสองคำได้ในสตริงเดียวคุณอนุญาตให้ฉันออกไปอีกหน่อยและถามว่าฉันจะขยายการใช้getInnerSubstring($str,$delim)เพื่อรับสายใด ๆ ที่อยู่ระหว่างค่า delim หรือไม่ ตัวอย่าง: $string =" foo I like php foo, but foo I also like asp foo, …
142 php  substring 

5
ความแตกต่างระหว่าง \ w และ \ b ​​อักขระเมตานิพจน์ทั่วไป
ทุกคนสามารถอธิบายความแตกต่างระหว่าง\bและ\wตัวบ่งชี้การแสดงออกปกติได้หรือไม่ มันเป็นความเข้าใจของฉันว่าทั้งสอง metacharacters ใช้สำหรับขอบเขตของคำ นอกจากนี้อักขระเมตาใดที่มีประสิทธิภาพสำหรับเนื้อหาหลายภาษา
142 javascript  java  php  regex  perl 


17
PHP json_encode เข้ารหัสตัวเลขเป็นสตริง
ฉันมีปัญหาอย่างหนึ่งกับฟังก์ชั่น PHP json_encode มันเข้ารหัสตัวเลขเป็นสตริงเช่น array('id' => 3) กลายเป็น "{ ["id": "3", ...) เมื่อ js พบค่าเหล่านี้มันตีความว่าเป็นสตริงและการดำเนินการตัวเลขล้มเหลว ไม่มีใครรู้วิธีป้องกันการjson_encodeเข้ารหัสตัวเลขเป็นสตริงบ้างไหม? ขอบคุณ!
142 php  javascript  json 

2
WRONGTYPE การทำงานกับคีย์ที่ถือค่า php ผิดประเภท
สวัสดีฉันใช้ Laravel กับ Redis เมื่อฉันพยายามเข้าถึงคีย์โดยใช้เมธอด get จากนั้นได้รับข้อผิดพลาด "WRONGTYPE Operation เทียบกับคีย์ที่ถือค่าผิดประเภท" ฉันใช้รหัสต่อไปนี้เพื่อเข้าถึงค่าคีย์ - ฉันใช้รหัสนี้เพื่อรับข้อมูลจาก redis $values = "l_messages"; $value = $redis->HGETALL($values); print($value);
142 php  redis 

25
สร้างรายการเขตเวลาด้วย PHP
ไซต์ส่วนใหญ่ต้องการวิธีแสดงวันที่บนไซต์ในเขตเวลาที่ผู้ใช้ต้องการ ด้านล่างนี้เป็นสองรายการที่ฉันพบแล้ววิธีหนึ่งในการใช้คลาสPHP DateTimeใน PHP 5 ฉันต้องการความช่วยเหลือในการทราบว่าสิ่งใดที่ดีที่สุดในการพยายามใช้เมื่อพยายามรับค่าชดเชย UTC จากผู้ใช้เมื่อลงทะเบียน หนึ่ง: <option value="-12">[UTC - 12] Baker Island Time</option> <option value="-11">[UTC - 11] Niue Time, Samoa Standard Time</option> <option value="-10">[UTC - 10] Hawaii-Aleutian Standard Time, Cook Island Time</option> <option value="-9.5">[UTC - 9:30] Marquesas Islands Time</option> <option value="-9">[UTC - 9] Alaska Standard Time, Gambier …
141 php  timezone  utc 

11
ฉันจะรับ PHPUnit MockObjects เพื่อคืนค่าต่าง ๆ ตามพารามิเตอร์ได้อย่างไร
ฉันมีวัตถุจำลอง PHPUnit ที่ส่งคืน'return value'ไม่ว่าอาร์กิวเมนต์จะเป็นอย่างไร // From inside a test... $mock = $this->getMock('myObject', 'methodToMock'); $mock->expects($this->any)) ->method('methodToMock') ->will($this->returnValue('return value')); สิ่งที่ฉันต้องการจะทำคือคืนค่าที่แตกต่างกันตามอาร์กิวเมนต์ที่ส่งไปยังเมธอด mock ฉันลองทำสิ่งที่ชอบแล้ว: $mock = $this->getMock('myObject', 'methodToMock'); // methodToMock('one') $mock->expects($this->any)) ->method('methodToMock') ->with($this->equalTo('one')) ->will($this->returnValue('method called with argument "one"')); // methodToMock('two') $mock->expects($this->any)) ->method('methodToMock') ->with($this->equalTo('two')) ->will($this->returnValue('method called with argument "two"')); แต่สิ่งนี้ทำให้ PHPUnit บ่นหากไม่มีการจำลองด้วยอาร์กิวเมนต์'two'ดังนั้นฉันคิดว่าคำจำกัดความของการmethodToMock('two')เขียนทับคำจำกัดความของคำแรก ดังนั้นคำถามของฉันคือ: มีวิธีการรับวัตถุ PHPUnit …

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