Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inne][PHP]Tworzenie pliku w danym katalogu przez formularz
Forum PHP.pl > Forum > Przedszkole
Prezesik
Witam, mam gotowy formularz, jednakże nie wiem jak mam stworzyć plik o nazwie Imie_Nazwisko.ini z chmodem 0777 w katalogu FTP na innym serwerze. Oczywiście posiadam dane do niego. Czy może ktoś pokazać mi tu przykład jak ma wyglądać ta funckja tworząca dany plik.
Wygląd formularza:
  1. <form action="<?php echo ($_SERVER['SCRIPT_NAME']); ?>" method="POST">
  2. Imię: <input name="imie" /><br />
  3. Nazwisko: <input name="nazwisko" /><br />
  4. Wiek: <input name="wiek" /><br />
  5. Płeć: (1- Mężczyzna, 2 - Kobieta) <input name="plec" /><br />
  6. Hasło: <input name="haslo" /><br />
  7. <input type="submit" name="rejestruj" value="Załóż Postać!" />
  8. </form>

Z góry dzięki za pomoc.
bastard13
Utworzenie pliku: http://www.php.net/manual/pl/function.fopen.php
Ustawienie praw: http://www.php.net/manual/pl/function.chmod.php
amii
Polecam zapoznać się z tym -> http://php.net/manual/pl/book.ftp.php i tym http://pl2.php.net/manual/pl/function.fopen.php
Prezesik
No dobra, ale czy fopen() przypadkiem nie otwiera pliku? Jak sama nazwa wskazuje "open"
bastard13
A spróbowałeś?
Prezesik
  1. <?php
  2. $imie = $_POST['imie'];
  3. $nazwisko = $_POST['nazwisko'];
  4. $haslo = $_POST['haslo'];
  5. $dane = "$imie/r/n$nazwisko/r/n$haslo";
  6. if($_POST['rejestruj']){
  7. $ftp_serwer = "ftp.ugu.pl";
  8. $ftp_uzytkownik = "xxx";
  9. $ftp_haslo = "xxx";
  10. $conn_id = ftp_connect($ftp_serwer);
  11. ftp_login($conn_id, $ftp_uzytkownik, $ftp_haslo);
  12.  
  13. $plik = fopen("$imie_$nazwisko.ini", "x");
  14. fwrite($plik, "$dane");
  15. fclose($plik);
  16. ftp_close($conn_id);
  17. }
  18. ?>
  19. <head>
  20. <meta http-equiv="Content-type" content="text/html; charset=ISO-8859-2" />
  21. </head>
  22. <form action="<?php echo ($_SERVER['SCRIPT_NAME']); ?>" method="POST">
  23. Imię: <input name="imie" /><br />
  24. Nazwisko: <input name="nazwisko" /><br />
  25. Wiek: <input name="wiek" /><br />
  26. Płeć: (1- Mężczyzna, 2 - Kobieta) <input name="plec" /><br />
  27. Hasło: <input name="haslo" /><br />
  28. <input type="submit" name="rejestruj" value="Załóż Postać!" />
  29. </form>


Mam tak zrobione i nie tworzy ciągle pliku na serwerze FTP. Co tutaj jest źle? Nie umiem znaleźć tego błędu, chodź wiem że jest ;d
Cysiaczek
Użyj komend FTP z katalogu http://php.net/manual/en/ref.ftp.php
Utwórz plik lokalnie i potem go po prostu wyślij na serwer ftp
Prezesik
To ma być rejestracja na serwer, więc odpada to co powiedziałeś smile.gif.

Plik już tworzy, ale jest jeszcze jeden problem, przy fwrite($plik, "$dane"); na miejscu $dane powinno zapisać się to co mam dane w $dane, jednakże on tak nie zapisuje tego, jak to naprawwić? Dać gdzie indziej całą funkcję $dane?
Cysiaczek
Dlaczego odpada? Skoro do jednego serwera masz pełny dostęp, to zapisanie pliku właśnie na nim, a nastęopnie wysłanie na ftp (poprzez funkcje php, a nie przez klienta ftp) jest chyba dość sensownym rozwiązaniem. Potem taki plik możesz skasować.
Metoda inna, ale równoważna.
Prezesik
Chodzi o to, że każdy użytkownik może zarejestrować sobie postać na serwer, czyli rejestracja ma być ogólnodostępna.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.