(PHP 4, PHP 5, PHP 7)
გაშლილი - ხსნის ფაილს ან URL-ს
აღწერა
რესურსი გაშლილი (სიმებიანი $filename , სიმებიანი $ რეჟიმი [, bool $use_include_path = false [, რესურსი $კონტექსტი ]])
fopen ()ანიჭებს ნაკადს ფაილის სახელის არგუმენტში მითითებულ დასახელებულ რესურსს.
პარამეტრების სია
თუ ფაილის სახელი გადაეცემა "scheme://...", ის განიხილება როგორც URL და PHP მოძებნის პროტოკოლის დამმუშავებელს (ასევე ცნობილია როგორც "wrapper") ამ სქემისთვის პროტოკოლი, PHP გამოსცემს გაფრთხილებას, რომელიც დაგეხმარებათ თვალყური ადევნოთ პოტენციურ პრობლემას თქვენს სკრიპტში და შემდეგ გააგრძელოთ შესრულება ისე, თითქოს ფაილის სახელი მიუთითებდეს ჩვეულებრივ ფაილზე.
თუ PHP აყენებს ფაილის სახელს ლოკალურ ფაილზე მითითებით, მაშინ ის ცდილობს გახსნას ნაკადი ამ ფაილზე.
ფაილი უნდა იყოს ხელმისაწვდომი PHP-ით, ასე რომ თქვენ უნდა დარწმუნდეთ, რომ ფაილის ნებართვები ამის საშუალებას იძლევა.
თუ ჩართული გაქვთ უსაფრთხო რეჟიმი ან open_basedir, მაშინ მოქმედებს დამატებითი შეზღუდვები.:
თუ PHP განსაზღვრავს, რომ ფაილის სახელი მიუთითებს რეგისტრირებულ პროტოკოლზე და ეს პროტოკოლი რეგისტრირებულია, როგორც ქსელის URL, PHP ამოწმებს allow_url_fopen დირექტივის მდგომარეობას. თუ ის გამორთულია, PHP გამოსცემს გაფრთხილებას და დარეკვა ვერ მოხდება.კომენტარი მხარდაჭერილი პროტოკოლების სია ხელმისაწვდომია მხარდაჭერილი პროტოკოლებისა და შეფუთვების განყოფილებაში.ზოგიერთი პროტოკოლი ( შეფუთვებიგამოიყენება შეფუთვით http).
Windows-ის პლატფორმაზე, თქვენ უნდა გაექცეთ ყველა უკანა ხაზს ფაილის გზაზე ან გამოიყენოთ წინსვლის ხაზები.
$handle = fopen("c:\\folder\\resource.txt" , "r" );
?>
რეჟიმის პარამეტრი განსაზღვრავს წვდომის ტიპს, რომელსაც ითხოვთ თემიდან. ეს შეიძლება იყოს ერთ-ერთი შემდეგი ვარიანტი:
რეჟიმი | აღწერა |
---|---|
"რ" | ხსნის ფაილს მხოლოდ წასაკითხად; ათავსებს მაჩვენებელს ფაილის დასაწყისში. |
"r+" | ხსნის ფაილს კითხვისა და წერისთვის; ათავსებს მაჩვენებელს ფაილის დასაწყისში. |
"w" | ხსნის ფაილს მხოლოდ ჩასაწერად; ათავსებს მაჩვენებელს ფაილის დასაწყისში და წყვეტს ფაილს ნულოვან სიგრძეზე. |
თუ ფაილი არ არსებობს, ის ცდილობს მის შექმნას. | "w+" |
ხსნის ფაილს კითხვისა და წერისთვის; ათავსებს მაჩვენებელს ფაილის დასაწყისში და წყვეტს ფაილს ნულოვან სიგრძეზე. | თუ ფაილი არ არსებობს, ის ცდილობს მის შექმნას. |
"ა" | ხსნის ფაილს მხოლოდ ჩასაწერად; ათავსებს მაჩვენებელს ფაილის ბოლოს. თუ ფაილი არ არსებობს, ის ცდილობს მის შექმნას. |
"a+" | ხსნის ფაილს კითხვისა და წერისთვის; ათავსებს მაჩვენებელს ფაილის ბოლოს. თუ ფაილი არ არსებობს, ის ცდილობს მის შექმნას. fopen ()"x" ქმნის და ხსნის მხოლოდ წერისთვის; ათავსებს მაჩვენებელს ფაილის დასაწყისში. თუ ფაილი უკვე არსებობს, დარეკეთმარცხით მთავრდება, დაბრუნდება ცრუდა მისცემს დონის შეცდომას E_გაფრთხილება. თუ ფაილი არ არსებობს, ის შეეცდება მის შექმნას. ეს დროშების მითითების ტოლფასია. |
O_EXCL|O_CREAT | შიდა სისტემის ზარისთვის "a+". |
ღია (2) | "x+" "w"ქმნის და ხსნის კითხვისა და წერისთვის; წინააღმდეგ შემთხვევაში აქვს იგივე ქცევა, რაც "a+""c" ხსნის ფაილს მხოლოდ ჩასაწერად. თუ ფაილი არ არსებობს, ის იქმნება.თუ ფაილი არსებობს, მაშინ ის არ არის შეკვეცილი (განსხვავებით "w"), და ამ ფუნქციის გამოძახება არ იწვევს შეცდომას (როგორც ეს ხდება ). ფაილის მაჩვენებელი დაყენდება ფაილის დასაწყისში. ეს შეიძლება სასარგებლო იყოს, თუ გსურთ ფაილის ჩაკეტვა (იხფარა () |
) შეცვლამდე, გამოყენების დღიდან | შეუძლია ფაილის შეკვეცა დაბლოკვის მიღებამდე (თუ გსურთ ფაილის შეკვეცა, შეგიძლიათ გამოიყენოთ ფუნქცია ღია (2). |
თუ ჩართული გაქვთ უსაფრთხო რეჟიმი ან open_basedir, მაშინ მოქმედებს დამატებითი შეზღუდვები.:
ftruncate () დაბლოკვის მოთხოვნის შემდეგ)."c+" ხსნის ფაილს კითხვისა და წერისთვის; წინააღმდეგ შემთხვევაში აქვს იგივე ქცევა, რაცოპერაციული სისტემების სხვადასხვა ოჯახს განსხვავებული კონვენცია აქვს ხაზის დაბოლოებებთან დაკავშირებით. როდესაც თქვენ წერთ ტექსტს და გსურთ ხაზის წყვეტის ჩასმა, თქვენ უნდა გამოიყენოთ სწორი სიმბოლოები (ან სიმბოლო). ოპერაციული სისტემა. Unix ოჯახის სისტემების გამოყენება \nროგორც ხაზის ბოლო სიმბოლოები და მაკინტოშის სისტემები იყენებენ \rროგორც ხაზის დასასრულის სიმბოლო.
თუ ფაილების რედაქტირებისას იყენებთ არასწორი ხაზის დამთავრების სიმბოლოს, შეიძლება აღმოაჩინოთ, რომ ეს ფაილები "უცნაურად" გამოიყურება მათი გახსნისას.
Windows გთავაზობთ ტექსტური გადაცემის რეჟიმის დროშას ( "ტ"), რომელიც ავტომატურად ითარგმნება ხსნის ფაილს კითხვისა და წერისთვის; წინააღმდეგ შემთხვევაში აქვს იგივე ქცევა, რაცვ \nფაილთან მუშაობისას. და პირიქით - ასევე შეგიძლიათ გამოიყენოთ"ბ" და პირიქით - ასევე შეგიძლიათ გამოიყენოთაიძულოთ ბინარული რეჟიმი, რომელიც არ გადააქცევს თქვენს მონაცემებს. ამ რეჟიმების გამოსაყენებლად, მიუთითეთ "ტ"ან
რეჟიმის პარამეტრის ბოლო ასო. "ტ"იმის გამო, რომ ნაგულისხმევი თარგმანის დროშის პარამეტრი დამოკიდებულია SAPI-ზე და PHP-ის ვერსიაზე, რომელსაც იყენებთ, ჩვენ გირჩევთ, რომ მკაფიოდ დააყენოთ მითითებული დროშა პორტაბელურობის მიზეზების გამო. თქვენ უნდა გამოიყენოთ რეჟიმი თუ თქვენ მუშაობთტექსტური ფაილი ხსნის ფაილს კითხვისა და წერისთვის; წინააღმდეგ შემთხვევაში აქვს იგივე ქცევა, რაცდა გამოიყენე და პირიქით - ასევე შეგიძლიათ გამოიყენოთ.
თქვენი სკრიპტის ხაზის დასასრულის აღსანიშნავად ისე, რომ არ ინერვიულოთ თქვენი ფაილების წაკითხვაზე სხვა აპლიკაციებში, როგორიცაა Notepad. ყველა სხვა შემთხვევაში გამოიყენეთ დროშა \n.
თუ ჩართული გაქვთ უსაფრთხო რეჟიმი ან open_basedir, მაშინ მოქმედებს დამატებითი შეზღუდვები.:
თუ ცალსახად არ მიუთითებთ "b" დროშას ბინარულ ფაილებთან მუშაობისას, შეიძლება განიცადოთ თქვენი მონაცემების უცნაური კორუფცია, მათ შორის დაზიანებული გამოსახულების ფაილები და უცნაური სიმბოლოების პრობლემები. fopen () .
ისე, რომ მის ნაცვლად გამოიყენოს შესაბამისი ხაზის დაბოლოებები და რეჟიმითუ ჩართული გაქვთ უსაფრთხო რეჟიმი ან open_basedir, მაშინ მოქმედებს დამატებითი შეზღუდვები.:
პორტაბელურობის მიზეზების გამო, რეკომენდირებულია ყოველთვის გამოიყენოთ "b" დროშა ფაილების გახსნისას "ტ"გარდა ამისა, პორტაბელურობის მიზეზების გამო, ასევე მკაცრად არის რეკომენდებული ძველი კოდის გადაწერა, რომელიც ეყრდნობა და პირიქით - ასევე შეგიძლიათ გამოიყენოთ.
გამოიყენე_გზა არასავალდებულო მესამე პარამეტრი use_include_path შეიძლება იყოს "1" ანმართალი
თუ თქვენ ასევე გსურთ მოძებნოთ ფაილი include_path-ში.
თუ ჩართული გაქვთ უსაფრთხო რეჟიმი ან open_basedir, მაშინ მოქმედებს დამატებითი შეზღუდვები.: კონტექსტი კონტექსტური მხარდაჭერა დაემატა PHP 5.0.0-ში. აღწერისთვისკონტექსტებს
იხილეთ ნაკადების განყოფილება.
ღირებულებების დაბრუნება ქმნის და ხსნის მხოლოდ წერისთვის; ათავსებს მაჩვენებელს ფაილის დასაწყისში. თუ ფაილი უკვე არსებობს, დარეკეთაბრუნებს მაჩვენებელს ფაილზე წარმატების შემთხვევაში, ან
შეცდომის შემთხვევაში.
შეცდომები ცრუთუ ფაილის გახსნა ვერ მოხერხდა, წარმოიქმნება დონის შეცდომა
. თქვენ შეგიძლიათ გამოიყენოთ ოპერატორი ამ შეცდომის აღსაკვეთად.
ცვლილებების სია
მაგალითები fopen ()
მაგალითი #1 გამოყენების მაგალითები
$handle = fopen("/home/rasmus/file.txt" , "r" );
$handle = fopen ("/home/rasmus/file.gif" , "wb" );
$handle = fopen("http://www.example.com/" , "r" ); $handle = fopen ( "ftp://user:[ელფოსტა დაცულია]/somefile.txt"
?>
, "w");
შენიშვნები
ყურადღება SSL-ის გამოყენებისას, Microsoft IIS არღვევს პროტოკოლს კავშირის დახურვით ინდიკატორის გაგზავნის გარეშე. PHP შეატყობინებს ამას, როგორც "SSL: Fatal Protocol Error" იმ მომენტში, როდესაც თქვენ მიაღწევთ მონაცემების ბოლომდე. ამის თავიდან ასაცილებლად, თქვენ უნდა დააყენოთ error_reporting დონე, რომელიც გამორიცხავს E_WARNING-ს. PHP 4.3.7 და უფრო ძველი ვერსიები შეიძლება აღმოაჩინონ, რომ სერვერის მხარეს არის პრობლემური IIS, როდესაც სტრიმინგს ხსნის wrapper-ის გამოყენებით https://და არ აჩვენებს გაფრთხილებას. თუ იყენებთ fsockopen ()შექმნას ssl://სოკეტში, თქვენი პასუხისმგებლობაა ამ გაფრთხილების აღმოჩენა და ჩახშობა.
თუ ჩართული გაქვთ უსაფრთხო რეჟიმი ან open_basedir, მაშინ მოქმედებს დამატებითი შეზღუდვები.: როდესაც ჩართულია უსაფრთხო რეჟიმის ოფცია, PHP ამოწმებს, აქვს თუ არა დირექტორიას, რომლებთანაც აპირებთ მუშაობას, აქვს თუ არა იგივე UID (მფლობელი), როგორც შესრულებულ სკრიპტს.
თუ ჩართული გაქვთ უსაფრთხო რეჟიმი ან open_basedir, მაშინ მოქმედებს დამატებითი შეზღუდვები.:
თუ ფაილების კითხვისა და წერისას პრობლემები შეგექმნათ და იყენებთ PHP-ს, როგორც სერვერის მოდულს, დარწმუნდით, რომ სერვერის პროცესს აქვს წვდომა თქვენს მიერ გამოყენებული ფაილებსა და დირექტორიებზე.
თუ ჩართული გაქვთ უსაფრთხო რეჟიმი ან open_basedir, მაშინ მოქმედებს დამატებითი შეზღუდვები.:
ეს ფუნქცია ასევე შეიძლება წარმატებული იყოს, თუ ფაილის სახელი არის დირექტორია. თუ არ ხართ დარწმუნებული, ფაილის სახელი არის ფაილი თუ დირექტორია, მაშინ უნდა გამოიყენოთ ფუნქცია is_dir() fopen () .
ზარის წინ
- php.ini ფაილის მდებარეობა დამოკიდებულია ოპერაციულ სისტემაზე, რომელზეც მუშაობს ჰოსტინგის პროვაიდერის სერვერი. იმის გასარკვევად, თუ სად არის ის, მიჰყევით 4 მარტივ ნაბიჯს:
- შექმენით php ფაილი (სახელი შეიძლება იყოს ნებისმიერი, მაგრამ ჩვენ ავიღოთ myphpinfo.php, როგორც მაგალითი) და დაამატეთ მას შემდეგი ხაზები:
- ატვირთეთ ეს ფაილი სერვერზე, სადაც თქვენი საიტი მდებარეობს (ძირითადი საქაღალდეში).
- ჩვენ ვიწყებთ ბრაუზერის მეშვეობით (შეიყვანეთ URL https://yoursitename.com/myphpinfo.php).
ფანჯარაში, რომელიც გამოჩნდება, მოძებნეთ გზა php.ini-მდე (პირველ რიგში შეხედეთ "ჩატვირთული კონფიგურაციის ფაილს", თუ ის ამბობს "არცერთი", შემდეგ გადახედეთ "Configuration File (php.ini) Path").
როგორ დავაკონფიგურიროთ php.ini? php.ini ფაილს აქვს შემდეგი სინტაქსის წესები "დირექტივა = მნიშვნელობა". თუ გსურთ კომენტარების დამატება (მაგალითად, რომელშიც მიუთითებთ რა გავლენას ახდენსეს პარამეტრი
), შემდეგ გააკეთეთ მძიმის შემდეგ (ყველაფერი, რაც მოდის ამ ნიშნის შემდეგ, არ ითვლება ბრძანებად). აი მაგალითი:
max_execution_time = 40 ; წამების მაქსიმალური რაოდენობა სკრიპტის შესრულებისთვის
ზოგადი პარამეტრებიPHPengine = ჩართულია; PHP სკრიპტები ჩართულია.. Если будет значение Off, то PHP-код обрамлять в традиционные
Short_open_tag = ჩართულია; საშუალებას აძლევს PHP კოდის გამარტივებულ ჩარჩოებს ტეგებით<% %>
Asp_tags = ჩართულია; რთავს PHP კოდის მონიშვნის შესაძლებლობას, როგორც ეს კეთდება ASP-ში -
სიზუსტე = 12; განსაზღვრავს რამდენი ციფრი იქნება ათწილადის შემდეგ მცურავი წერტილის რიცხვებისთვის.
გამომავალი_ბუფერირება = 4096; გამომავალი ბუფერირება ავტომატურად ჩაირთვება, ბუფერის ზომა მითითებული იქნება "ტოლების" შემდეგ.
Safe_mode_allowed_env_vars = PHP_ ; საშუალებას აძლევს მომხმარებელს იმუშაოს მხოლოდ გარემოს ცვლადებთან, რომლებიც იწყება PHP_-ით. თუ ეს დირექტივა ცარიელია (არ ექნება მნიშვნელობა), მაშინ მომხმარებლებს შეეძლებათ შეცვალონ ნებისმიერი გარემოს ცვლადი. ეს შეიძლება იყოს ძალიან საზიანო სკრიპტის უსაფრთხოებისთვის.
Safe_mode_protected_env_vars = LD_LIBRARY_PATH; კრძალავს ცვლადების შეცვლას, რომლებიც ჩამოთვლილია მძიმეებით გამოყოფილი.
გამორთვა_ფუნქციები = ; ტოლობის ნიშნის შემდეგ, თქვენ უნდა ჩაწეროთ ის ფუნქციები, რომლებიც გსურთ გამორთოთ, გამოყოფილი მძიმეებით (ჩვეულებრივ, ეს კეთდება უსაფრთხოებისთვის)
გამორთე_კლასები = ; "თანაბრის" ნიშნის შემდეგ, თქვენ უნდა ჩაწეროთ მძიმეებით გამოყოფილი კლასები, რომელთა ზარების აკრძალვაც გსურთ (ჩვეულებრივ, ეს კეთდება უსაფრთხოების მიზნით)
რესურსების შეზღუდვა
max_execution_time = 40 ; სკრიპტის შესრულების მაქსიმალური დრო (წამებში)მაქსიმალური_შეყვანის_დრო = 40 ; მაქსიმალური დრო წამებში, რაც სკრიპტს ეძლევა ჩატვირთული მონაცემების დასამუშავებლად.
მეხსიერების_ლიმიტი = 16 მ ; მაქსიმალური მეხსიერება გამოყოფილია ერთი სკრიპტისთვის
შეცდომების დამუშავება და ჟურნალები
შეცდომის_მოხსენება = E_ALL | E_EROR | E_გაფრთხილება | E_PARSE | E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_COMPILE_WARNING | E_USER_ERROR | E_USER_WARNING | E_USER_NOTICE; განსაზღვრავს შეცდომების სიას, რომლებიც შეიძლება იყოს ნაჩვენები.ჩვენება_შეცდომები = ჩართულია; იძლევა შეცდომების ჩვენების პირდაპირ ბრაუზერში (ხშირად გამოიყენება გამართვის გამარტივებისთვის).
Display_startup_errors = ჩართულია; შეცდომები, რომლებიც გამოჩნდება PHP-ის გაშვების დროს, დასაშვებია ჩვენება.
Log_errors = ჩართულია; შეცდომები დაშვებულია ჟურნალის ფაილში ჩაიწეროს.
Log_errors_max_len = 1024 ; სიმბოლოების მაქსიმალური რაოდენობა, რომელიც შეიძლება იყოს ჟურნალის სიგრძე.
Track_errors = ჩართულია; უახლესი შეცდომის შეტყობინებები შეინახება $php_errormsg ცვლადში
Html_errors = ჩართულია; შეცდომის შეტყობინებების ჩვენების დაშვება HTML-ში.
Error_log = ფაილის სახელი ; აყენებს შეცდომების ჟურნალის სახელს.
მონაცემთა დამუშავება
variables_order = "EGPCS" ; ადგენს თანმიმდევრობას, რომლითაც PHP დაარეგისტრირებს ცვლადებს (E - ჩაშენებული ცვლადები, G - GET ცვლადები, P - POST ცვლადები, C - ქუქიები, S - სესიები). თუ რომელიმე ასოს წაშლით, შესაბამისი ცვლადების მოქმედება დაიბლოკება.Register_globals = ჩართულია; ჩართავს შესაძლებლობას, ცვლადები, რომლებიც მოდის GET/POST/Cookie/სესიის მეშვეობით, ნორმალურ ცვლადებად განიხილება (მაგ., „$variablename“).
Register_argc_argv = On ; ნებადართულია $argv და $argc ცვლადების შექმნა GET მეთოდის ინფორმაციის საფუძველზე.
პოსტის_მაქს_ზომა = 8მ; ადგენს მონაცემთა მაქსიმალურ რაოდენობას, რომლის მიღებაც შესაძლებელია.
Magic_quotes_gpc = ჩართულია; ჩართავს POST/GET/Cookie-ით მიღებული ციტატების ავტომატურ დამუშავებას.
Auto_prepend_file = ; ამ დირექტივებში მითითებული ფაილების შიგთავსი შესაბამისად უნდა დამუშავდეს PHP-ის მიერ სკრიპტის შესრულებამდე.
auto_append_file = ; ამ დირექტივებში მითითებული ფაილების შიგთავსი შესაბამისად უნდა დამუშავდეს PHP-ის მიერ სკრიპტის შესრულების შემდეგ.Default_mimetype = "ტექსტი/html" ; ადგენს კოდირებას Content-type-ისთვის. ნაგულისხმევად ტექსტი/html გამოყენებული იქნება კოდირების მითითების გარეშე
Doc_root = ; აყენებს root საქაღალდეს PHP სკრიპტებისთვის.
Extension_dir = "./" ; განსაზღვრავს საქაღალდეს, რომელშიც შეინახება დინამიურად დატვირთული გაფართოებები.
ფაილების ატვირთვა
file_uploads = ჩართულია; ნებადართულია ფაილების სერვერზე ატვირთვა.Upload_tmp_dir = ; დროებითი დირექტორია ჩამოსატვირთი ფაილებისთვის.
Upload_max_filesize = 2M; ადგენს ფაილის მაქსიმალურ ზომას, რომლის ატვირთვაც შესაძლებელია.
სოკეტებთან მუშაობა
user_agent="PHP" ; USER_AGENT ცვლადი დაყენებულია, როდესაც ხდება სოკეტის კავშირი.ნაგულისხმევი_სოკეტის_დროიმი = 30; სოკეტზე მოსმენის მაქსიმალური დრო (წამები).
სესიები
session.save_handler = ფაილები; განსაზღვრავს, რომ სესიის ინფორმაცია უნდა იყოს შენახული ფაილებშიsession.save_path = /tmp ; თანაბარი ნიშნის შემდეგ, თქვენ უნდა მიუთითოთ გზა საქაღალდეში, რომელშიც შეინახება ინფორმაცია სესიების შესახებ (მნიშვნელოვანია, რომ საქაღალდე უკვე არსებობს)
session.use_cookies = 1 ; საშუალებას აძლევს ქუქიების გამოყენებას სესიებზე
session.name = PHPSESSID; მიუთითებს სესიის ID-ის გამოყენებაზე, როგორც სესიის სახელსა და სესიის ქუქი-ფაილში
session.cookie_lifetime = 0 ; სესიის ხანგრძლივობა ("0" ნიშნავს, რომ სესია ცოცხლობს ბრაუზერის ფანჯრის დახურვამდე)
session.use_trans_sid = 1 ; თუ მომხმარებელს გამორთული აქვს ქუქიები, სესიის ID დაემატება ყველა ბმულს
დინამიური გაფართოებები
extension=modulename.extension ; შეიძლება გამოყენებულ იქნას გარე მოდულების ჩასატვირთად. Windows სისტემებისთვის ისინი ჩვეულებრივ წერენ extension=msql.dll და for
UNIX - გაფართოება=msql.so
MySQL მოდულებთან მუშაობა
mysql.allow_persistent = ჩართულია; იძლევა სტაბილურ MySQL კავშირებს.Mysql.max_persistent = -1 ; ადგენს სტაბილური MySQL კავშირების მაქსიმალურ რაოდენობას. თუ მიუთითებთ -1, ეს ნიშნავს, რომ არ არსებობს შეზღუდვები.
Mysql.max_links = -1 ; ადგენს სტაბილური MySQL კავშირების და არასტაბილური ODBC კავშირების მაქსიმალურ რაოდენობას. თუ მიუთითებთ -1, ეს ნიშნავს, რომ არ არსებობს შეზღუდვები.
Mysql.default_port = ; პორტი mysql_connect ფუნქციისთვის.
Mysql.default_socket = ; სოკეტის სახელი ადგილობრივი MySQL კავშირებისთვის.
Mysql.default_host = ; ჰოსტის სახელი mysql_connect ფუნქციისთვის.
Mysql.default_user = ; მომხმარებლის სახელი.
Mysql.default_password = ; პაროლი.
თუ თქვენ შექმენით თქვენი საკუთარი php.ini ფაილი და განათავსეთ იგი საიტის საქაღალდეში
ამ შემთხვევაში, უსაფრთხოების მიზეზების გამო, თქვენ უნდა დაბლოკოთ მასზე წვდომა ყველასთვის თქვენს გარდა. ამისათვის თქვენ უნდა ჩაწეროთ შემდეგი კოდი .htaccess ფაილში:
შეუკვეთე დაშვება, უარყო
უარყოფს ყველასგან
მაგრამ ფრთხილად იყავით, რადგან... ამ პარამეტრებით, ყველა დირექტივა (php_value, php_flag და ა.შ.), რომელიც ეხება php პარამეტრებს .htaccess ფაილის მეშვეობით შეწყვეტს მუშაობას (გამოჩნდება 500 შიდა სერვერის შეცდომა).
მნიშვნელოვანი! თუ თქვენ შექმნით საკუთარ php.ini ფაილს, ის იმოქმედებს მხოლოდ დირექტორიაზე, რომელშიც ის მდებარეობს.
რესურსი გაშლილი(სტრიქონის ფაილის სახელი, სიმებიანი რეჟიმი [, bool use_include_path [, რესურსი zcontext]])fopen ()ანიჭებს ნაკადს ფაილის სახელის არგუმენტში მითითებულ დასახელებულ რესურსს. თუ ფაილის სახელი გადაეცემა "scheme://...", ის განიხილება როგორც URL და PHP მოძებნის პროტოკოლის დამმუშავებელს (ასევე ცნობილია როგორც "wrapper") ამ სქემისთვის პროტოკოლი, PHP გამოსცემს შენიშვნას, რომელიც დაგეხმარებათ თვალყური ადევნოთ პოტენციურ პრობლემას თქვენს სკრიპტში და გააგრძელებს შესრულებას ისე, თითქოს ფაილის სახელი მიუთითებდეს ჩვეულებრივ ფაილზე.
თუ PHP გადაწყვეტს, რომ ფაილის სახელი მიუთითებს ადგილობრივ ფაილზე, მაშინ ის შეეცდება გახსნას ნაკადი ამ ფაილზე. ფაილი უნდა იყოს ხელმისაწვდომი PHP-ით, ასე რომ თქვენ უნდა დარწმუნდეთ, რომ ფაილის ნებართვები ამის საშუალებას იძლევა. თუ ჩართული გაქვთ Safe Mode ან open_basedir, მოქმედებს დამატებითი შეზღუდვები.
თუ PHP-მ გადაწყვიტა, რომ ფაილის სახელი მიუთითებს რეგისტრირებულ პროტოკოლზე და ეს პროტოკოლი რეგისტრირებულია ქსელის URL-ად, PHP შეამოწმებს allow_url_fopen დირექტივის მდგომარეობას. თუ ის გამორთულია, PHP გამოსცემს გაფრთხილებას და დარეკვა ვერ მოხდება.
კომენტარი:ზოგიერთი პროტოკოლი მხარს უჭერს კონტექსტს და/ან php.ini ვარიანტებს. იხილეთ შესაბამისი პროტოკოლის გვერდი იმ ვარიანტების ჩამონათვალისთვის, რომლებიც შეიძლება დაყენდეს. (მაგალითად, php.ini user_agent მნიშვნელობა გამოიყენება http wrapper-ით). კონტექსტისა და zcontext პარამეტრების აღწერისთვის იხილეთ ნაკადის ფუნქციების განყოფილება.
კომენტარი:კონტექსტური მხარდაჭერა დაემატა PHP 5.0.0-ში.
კომენტარი: PHP 4.3.2-დან გამომდინარე, ორობითი რეჟიმი არის ნაგულისხმევი რეჟიმი ყველა პლატფორმისთვის, რომელიც განასხვავებს ბინარულ და ტექსტურ რეჟიმებს. თუ განახლების შემდეგ პრობლემები შეგექმნათ, სცადეთ გამოიყენოთ "t" დროშა, როგორც გამოსავალი, სანამ არ შეცვლით თქვენს სკრიპტებს უფრო დიდი პორტაბელურობის მისაღწევად, როგორც ზემოთ აღინიშნა.
რეჟიმის პარამეტრი განსაზღვრავს წვდომის ტიპს, რომელსაც ითხოვთ თემიდან. ეს შეიძლება იყოს ერთ-ერთი შემდეგი:
თუ ფაილის გახსნა ვერ მოხერხდა, ფუნქცია დაბრუნდება ცრუდა წარმოქმნის დონის შეცდომას E_გაფრთხილება. თქვენ შეგიძლიათ გამოიყენოთ ეს ამ გაფრთხილების აღსაკვეთად.
მაგალითი 1. ფუნქციის გამოყენების მაგალითები fopen ()
|
თუ ფაილების კითხვისა და წერისას პრობლემები შეგექმნათ და იყენებთ PHP-ს, როგორც სერვერის მოდულს, დარწმუნდით, რომ სერვერის პროცესს აქვს წვდომა თქვენს მიერ გამოყენებული ფაილებსა და დირექტორიებზე.
16.5Kსინამდვილეში, php ფაილის გახსნა არ არის დიდი პრობლემა. შეიძლება უფრო რთული იყოს ლუდის ბოთლის გახსნა, როცა შუა ტყეში ხარ. მაგრამ მხოლოდ მგზნებარე პროგრამისტები ფიქრობენ ასე. დამწყებთათვის კი ჩვენ გეტყვით PHP-ის ყველა შესაძლებლობის შესახებ ფაილებთან მუშაობისთვის:
php ფაილები
php გაფართოების მქონე ფაილები შეიცავს კოდს, რომელიც დაწერილია ამავე სახელწოდების პროგრამირების ენაზე. სხვა ენებისგან განსხვავებით, php არის სერვერის პროგრამირების ენა. ანუ ის მუშაობს სერვერის მხარეს. ამიტომ, მისი კოდის გამართვის მიზნით, ლოკალური სერვერი უნდა იყოს დაინსტალირებული კლიენტის მანქანაზე.
php ფაილებთან მუშაობისთვის გამოიყენება სპეციალური აპლიკაციები - პროგრამული რედაქტორები. ყველაზე გავრცელებულია:
- Dreamweaver.
- PHPEdit.
- Eclipse PHP განვითარება.
ფაილის სახელის ჩათვლით
კავშირის მაგალითი:
ჩართული ფაილი:
ფაილის ჩართვა ასევე შესაძლებელია საჭირო კონსტრუქციის გამოყენებით. მოიცავსსგან განსხვავებით, ის შეიცავს ფაილს პროგრამის კოდის შესრულებამდე. კოდის მოთხოვნის გამოყენებით, შესაძლებელია მხოლოდ ერთი ზარი ამ ფაილზე. ხელახლა წვდომისას სისტემა აჩვენებს გლობალურ შეცდომის შეტყობინებას და შეაჩერებს პროგრამის შესრულებას.
მოიცავს კონსტრუქცია მოიცავს მხოლოდ წყაროს პროგრამის შესრულების დროს. იგი მხარს უჭერს php ფაილის მრავალჯერად კითხვას. თუ შეცდომა მოხდა, გამოჩნდება მხოლოდ გამაფრთხილებელი შეტყობინება და კოდის შესრულება გაგრძელდება შემდეგი სტრიქონიდან.
ფაილების გახსნა და დახურვა
php-ში ფაილებთან ყველა ოპერაცია ხორციელდება რამდენიმე ეტაპად:
- ფაილის გახსნა;
- შინაარსის რედაქტირება;
- ფაილის დახურვა.
fopen() ფუნქცია გამოიყენება ფაილის გასახსნელად. მისი სინტაქსია:
int fopen (სტრიქონის ფაილის სახელი, სტრიქონის რეჟიმი [, int use_include_path])
მიღებული არგუმენტები:
- სიმებიანი ფაილის სახელი – ფაილის სახელი ან აბსოლუტური გზა მისკენ. თუ ფაილის გზა არ არის მითითებული, ის მოიძებნება მიმდინარე დირექტორიაში. თუ ფაილი, რომელსაც ეძებთ აკლია, სისტემა აჩვენებს შეცდომის შეტყობინებას. მაგალითი:
- სიმებიანი რეჟიმი - მიუთითებს ფაილის გახსნის რეჟიმზე. არგუმენტით მიღებული მნიშვნელობები:
- r – ფაილი იხსნება მხოლოდ წასაკითხად, ფაილის მაჩვენებელი დაყენებულია დასაწყისში;
- r+ – ფაილი ღიაა წასაკითხად და ჩასაწერად;
- w – ქმნის ახალ ფაილს მხოლოდ ჩასაწერად. თუ ფაილი იგივე სახელით უკვე არსებობს, მასში არსებული ყველა მონაცემი ავტომატურად იშლება;
- w+ - ქმნის ახალ ფაილს ჩასაწერად და წასაკითხად. როდესაც ასეთი ფაილი არსებობს, მისი მონაცემები მთლიანად გადაიწერება ახლით;
- a – ფაილი ღიაა ჩასაწერად. მაჩვენებელი მითითებულია ბოლოს. ანუ php ფაილში ჩაწერა დაიწყება არა თავიდან, არამედ ბოლოდან;
- a+ – გახსენით ფაილი წაკითხვის-ჩაწერის რეჟიმში. ჩაწერა დაიწყება ბოლოდან;
- b – ორობითი მონაცემების შემცველ ფაილთან მუშაობის რეჟიმი (ორობითი რიცხვების სისტემაში). ეს რეჟიმი ხელმისაწვდომია მხოლოდ Windows ოპერაციულ სისტემაზე.
ფაილზე წვდომის დასახურად გამოიყენეთ fclose() ფუნქცია. სინტაქსი:
int fclose (int ფაილი) , სადაც int ფაილი არის სახელური საიტის დასახურავად.
ყოველი წაკითხვის ან ჩაწერის შემდეგ, ფაილი უნდა დაიხუროს ამ ფუნქციით. წინააღმდეგ შემთხვევაში, ფაილისთვის შექმნილი ნაკადი ღია რჩება. და ეს იწვევს სერვერის სიმძლავრის არასაჭირო მოხმარებას.
მაგალითი:
ფაილების კითხვა და წერა
ფაილის მთლიანი შინაარსის უბრალოდ საჩვენებლად, readfile() ფუნქცია იდეალურია. მისი სინტაქსია:
readfile (სტრიქონის ფაილის სახელი), სადაც string ფაილის სახელი არის სტრიქონის ფაილის სახელი (არა სახელური).
იგივე ფაილის წაკითხვა შესაძლებელია fpassthru() ფუნქციის გამოყენებით. ის კითხულობს მონაცემებს ბოლო მაჩვენებლის პოზიციიდან ფაილის ბოლომდე. მისი სინტაქსია:
int fpassthru (int ფაილი)
ფუნქცია მოითხოვს ფაილის გახსნას და დახურვას. მაგალითი:
შედეგი წინას მსგავსია.
php-ში ფაილებთან მუშაობის ფუნქციები საშუალებას გაძლევთ წაიკითხოთ შინაარსი ხაზ-სტრიქონით და სიმბოლოთი სიმბოლოთი:
- string fgets (int ფაილი, int სიგრძე)– ფუნქცია კითხულობს სიგრძის სტრიქონს. მაგალითი:
- სიმებიანი ფრედ (int ფაილი, int სიგრძე)- მოქმედება წინას იდენტურია.
ფაილში ტექსტური მონაცემების ჩასაწერად, არსებობს ორი იდენტური ფუნქცია:
- int fputs (int ფაილი, სტრიქონი [, int სიგრძე])
- int fwrite (int ფაილი, სტრიქონი [, int სიგრძე])
ფუნქციები წერენ ფაილში int ფაილში მითითებული სიგრძის int სიგრძის სტრიქონს ( არჩევითი არგუმენტი). მაგალითი:
ფაილების შექმნა და წაშლა
php ფაილის შესაქმნელად შეგიძლიათ გამოიყენოთ fopen() ფუნქცია "w" ან "w+" წვდომის რეჟიმში. ან touch() ფუნქცია. ის ადგენს ფაილის შეცვლის დროს. თუ არ არის ელემენტი მოძიებული სახელით, ის შეიქმნება. მისი სინტაქსი.