Odpowiedzi:
Możesz użyć funkcji wyższego poziomu, takiej jak:
file_put_contents($filename, $content);
która jest identyczna z wywołaniem fopen()
, fwrite()
i fclose()
kolejno do zapisu danych do pliku.
Dokumenty: file_put_contents
put_file_contents()
został po raz pierwszy wprowadzony w PHP5 i od tego czasu został uwzględniony również w późniejszych wersjach.
Rozważ fwrite () :
<?php
$fp = fopen('lidn.txt', 'w');
fwrite($fp, 'Cats chase mice');
fclose($fp);
?>
fclose($fp)
), próbowałem z $fp = fopen('lidn.txt', 'w+');
, $fp = fopen('lidn.txt', 'a+');
ale żaden z nich nie działał
$fp = fopen('lidn.txt', 'w');
fwrite($fp, 'Cats chase');
fwrite($fp, 'mice');
fclose($fp);
$text = "Cats chase mice";
$filename = "somefile.txt";
$fh = fopen($filename, "a");
fwrite($fh, $text);
fclose($fh);
Używasz fwrite()
fclose($fh)
), próbowałem z $fh = fopen('lidn.txt', 'w+');
, `$ fh = fopen ('lidn.txt', 'a +'); `ale żadne z nich nie działało
Łatwo jest napisać plik:
$fp = fopen('lidn.txt', 'w');
fwrite($fp, 'Cats chase mice');
fclose($fp);
Używam następującego kodu do zapisywania plików w moim katalogu internetowym.
write_file.html
<form action="file.php"method="post">
<textarea name="code">Code goes here</textarea>
<input type="submit"value="submit">
</form>
write_file.php
<?php
// strip slashes before putting the form data into target file
$cd = stripslashes($_POST['code']);
// Show the msg, if the code string is empty
if (empty($cd))
echo "Nothing to write";
// if the code string is not empty then open the target file and put form data in it
else
{
$file = fopen("demo.php", "w");
echo fwrite($file, $cd);
// show a success msg
echo "data successfully entered";
fclose($file);
}
?>
To jest działający skrypt. pamiętaj, aby zmienić adres URL w akcji formularza i plik docelowy w funkcji fopen (), jeśli chcesz go użyć w swojej witrynie.
Powodzenia.
Aby zapisać do pliku PHP
, musisz wykonać następujące czynności:
Otwórz plik
Napisz do pliku
Zamknij plik
$select = "data what we trying to store in a file";
$file = fopen("/var/www/htdocs/folder/test.txt", "a");
fwrite($file , $select->__toString());
fclose($file );
Oto kroki:
Zamknij plik
$select = "data what we trying to store in a file";
$file = fopen("/var/www/htdocs/folder/test.txt", "w");
fwrite($file, $select->__toString());
fclose($file);
fwrite()
jest odrobinę szybszy i file_put_contents()
tak czy siak tylko owija te trzy metody, więc stracisz narzut.
Artykuł
file_put_contents (plik, dane, tryb, kontekst):
file_put_contents
Pisze ciąg do pliku.
Ta funkcja jest zgodna z tymi regułami podczas uzyskiwania dostępu do pliku.Jeśli ustawiono FILE_USE_INCLUDE_PATH, sprawdź ścieżkę dołączania kopii nazwy pliku Utwórz plik, jeśli nie istnieje, a następnie otwórz plik i zablokuj plik, jeśli ustawiono LOCK_EX i jeśli ustawiono FILE_APPEND, przejdź na koniec pliku. W przeciwnym razie wyczyść zawartość pliku Zapisz dane do pliku i zamknij plik oraz zwolnij wszelkie blokady. Ta funkcja zwraca liczbę znaków zapisanych w pliku w przypadku powodzenia lub FALSE w przypadku niepowodzenia.
fwrite (plik, ciąg, długość):
Te fwrite
zapisy do otwartej funkcji file.The zatrzyma się na końcu pliku lub po osiągnięciu określonej długości, cokolwiek first.This funkcja zwraca liczbę bajtów zapisanych lub FALSE w przypadku niepowodzenia.
file_put_contents()
działa tylko w PHP5. W tym przypadku nie wydaje się to problemem (w końcu twoja odpowiedź została zaakceptowana), ale nadal może być kilka hostów, na których działa PHP4.x.