Функцията на file_put_contents на PHP - какво е това? Описание, примери

27.02.2019

В PHP програмния език file_put_contents е функция, която записва данни във файл с еквивалент на fopen (), fwrite (), срещу операндите fread () и fclose (). Той приема два параметъра като вход: името на файла и съдържанието, което трябва да бъде записано, като третият незадължителен параметър определя допълнителни характеристики на операцията. Ако изчислението на file_put_contents в PHP е успешно завършено, то връща броя записани в файла байтове.

File_put_contents в PHP - какво е това? примери

алгоритъм:

  • в случай, че USE_INCLUDE е предварително зададен, проверява се пътят за включване на копие на * filename *;
  • файлът се създава, ако не съществува;

  • отворен файл;

  • файлът е заключен, ако е зададено LOCK_EX;

  • скриптът отива в края на файла, в противен случай съдържанието се изчиства.

  • запис на данни във файл;

  • затваряне и отключване на файлове.

Този операнд връща броя на символите, записани във файла при успех, или FALSE при неуспех.

Използването на функционалността е много просто. например:


$ myarray [] = "Това е първият низ";
$ myarray [] = "Това е втората линия";
$ myarray [] = "Това е низ три";
$ mystring = implode ("n", $ myarray);
$ numbytes = file_put_contents ($ filename, $ mystring);
print "$ numbytes bytes е написано n";
?> файл постави съдържанието php

Не забравяйте, че първо трябва да зададете името на файла $. Освен това, скриптът е прост, той трябва да извежда “52 байта”, което е сумата от три реда текст плюс два нови символа за низове, използвани за масива implode (). Новият символ на линия е всъщност само един символ в файловете, а PHP го използва като два и n.

Можете да подадете третия параметър на file_put_contents в PHP, за да добавите текст към втория си параметър към съществуващия текст във файла. Ако не използвате FILE_APPEND, съществуващият текст ще бъде изчистен и заменен, което не винаги е желаното поведение на скрипта.

Възможни грешки

Може да има трудности при писането на скрипт за поща, която дистанционно проверява нашия пощенски сървър. Той трябва да изтегли прикачени файлове и да ги копира в директория на локалния интранет уеб сървър. php предупредителен файл постави съдържанието

Скриптът чете коректно пощата, но при работа с прикачени файлове може да възникне проблем:

Предупреждение за PHP: file_put_contents: Не може да се отвори поток: позволено в C: inetpubwwwrootquotation_testloglog_mailcheck.php на ред 107.

Решението е да проверите директивата open_basedir в php.ini. Трябва да разберете дали съществува директорията C: inetpubwwwrootquotation_testlogscans ?, и да я добавите, ако е необходимо.