В PHP програмния език file_put_contents е функция, която записва данни във файл с еквивалент на fopen (), fwrite (), срещу операндите fread () и fclose (). Той приема два параметъра като вход: името на файла и съдържанието, което трябва да бъде записано, като третият незадължителен параметър определя допълнителни характеристики на операцията. Ако изчислението на file_put_contents в PHP е успешно завършено, то връща броя записани в файла байтове.
алгоритъм:
файлът се създава, ако не съществува;
отворен файл;
файлът е заключен, ако е зададено LOCK_EX;
скриптът отива в края на файла, в противен случай съдържанието се изчиства.
запис на данни във файл;
затваряне и отключване на файлове.
Този операнд връща броя на символите, записани във файла при успех, или FALSE при неуспех.
Използването на функционалността е много просто. например:
PHP
$ myarray [] = "Това е първият низ";
$ myarray [] = "Това е втората линия";
$ myarray [] = "Това е низ три";
$ mystring = implode ("n", $ myarray);
$ numbytes = file_put_contents ($ filename, $ mystring);
print "$ numbytes bytes е написано n";
?>
Не забравяйте, че първо трябва да зададете името на файла $. Освен това, скриптът е прост, той трябва да извежда “52 байта”, което е сумата от три реда текст плюс два нови символа за низове, използвани за масива implode (). Новият символ на линия е всъщност само един символ в файловете, а PHP го използва като два и n.
Можете да подадете третия параметър на file_put_contents в PHP, за да добавите текст към втория си параметър към съществуващия текст във файла. Ако не използвате FILE_APPEND, съществуващият текст ще бъде изчистен и заменен, което не винаги е желаното поведение на скрипта.
Може да има трудности при писането на скрипт за поща, която дистанционно проверява нашия пощенски сървър. Той трябва да изтегли прикачени файлове и да ги копира в директория на локалния интранет уеб сървър.
Скриптът чете коректно пощата, но при работа с прикачени файлове може да възникне проблем:
Предупреждение за PHP: file_put_contents: Не може да се отвори поток: позволено в C: inetpubwwwrootquotation_testloglog_mailcheck.php на ред 107.
Решението е да проверите директивата open_basedir в php.ini. Трябва да разберете дали съществува директорията C: inetpubwwwrootquotation_testlogscans ?, и да я добавите, ако е необходимо.