![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 189 Pomógł: 0 Dołączył: 16.05.2008 Ostrzeżenie: (10%) ![]() ![]() |
mam kod, chce zapisac dane do pliku ale jest bład, nie wiem jaki
Kod <?php
$student[0]=array('Zofia','Kamińska','00-567','Warszawa '); $student[1]=array('Jan','Nowak','00-567','Warszawa'); $student[2]=array('Jerzy','Trela','00-567','Warszawa'); $student[3]=array('Roman','Polański','88-555','Kraków'); $num=$count($student); $fp = fopen('file.csv', 'w'); for($i=0;$i<$num;$i++) {fputcsv($fp, $student[$i],';');} fclose($fp); echo "Zapisano dane. <br/>"; ?> Ten post edytował robin5hood 20.12.2008, 17:36:04 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 428 Pomógł: 128 Dołączył: 17.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Spacja w ścieżce do pliku.
Jak masz ustawione error_reporting = E_ALL to jak byk widać, że skrypt nie widzi pliku i sypie ostrzeżeniami. Edit: Przed edycją kod kolegi wyglądał tak:
Ten post edytował ziqzaq 20.12.2008, 17:40:30 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 189 Pomógł: 0 Dołączył: 16.05.2008 Ostrzeżenie: (10%) ![]() ![]() |
w tej linice
Kod $fp = fopen('file.csv', 'w'); co mam zmienić, o jaka spacje chodzi? ![]() zlikwidowałem te spacje Kod <?php ale nadal ten sam błąd
$student[0]=array('zofia','kdjf','0439','kjvj'); $student[1]=array('zofia','kdjf','0439','kjvj'); $student[2]=array('zofia','kdjf','0439','kjvj'); $student[3]=array('zofia','kdjf','0439','kjvj'); $num=count($student); $fp=fopen('./nic2.csv','w'); // <== felerna spacja for ($i=0; $i<$num; $i++){fputcsv($fp, $student[$i], ';');} fclose($fp); echo "zapisano dane"; ?> Ten post edytował robin5hood 20.12.2008, 17:46:06 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 428 Pomógł: 128 Dołączył: 17.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Mi kod działa (oprócz tej spacji, którą później usunąłeś).
Możliwości: 1) Plik nie istnieje, lub ścieżka jest zła. 2) Plik nie ma ustawionych praw do zapisu. Edit: Jaki błąd? Skoro nie wkleiłeś kodu błędu to skąd ktoś ma wiedzieć jaki to błąd? Pomyśl chwilę, proszę. Ten post edytował ziqzaq 20.12.2008, 17:47:35 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 189 Pomógł: 0 Dołączył: 16.05.2008 Ostrzeżenie: (10%) ![]() ![]() |
a czy ten kod nie powinien tworzyć pliku?
bład jest taki Fatal error: Call to undefined function fputcsv() in C:\Program Files\Apache Group\Apache2\htdocs\zapisywanie.php on line 8 Ten post edytował robin5hood 20.12.2008, 17:50:24 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 428 Pomógł: 128 Dołączył: 17.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Manual fopen.
Przeczytaj opisy parametru "tryb" (podpowiem, literki to "w" i "a"). Edit: Znowu manual fputcsv Cytat (PHP 5 >= 5.1.0) Jaką masz wersję php? Ten post edytował ziqzaq 20.12.2008, 17:52:42 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 189 Pomógł: 0 Dołączył: 16.05.2008 Ostrzeżenie: (10%) ![]() ![]() |
"w" otwiera plik, a jesli go nie ma, tworzy go
a jak sprawdzić jak jest wersja PHP , chyba 5 ![]() Ten post edytował robin5hood 20.12.2008, 17:55:35 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 428 Pomógł: 128 Dołączył: 17.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 189 Pomógł: 0 Dołączył: 16.05.2008 Ostrzeżenie: (10%) ![]() ![]() |
PHP Version 5.0.3 - taka jest wersja
Ten post edytował robin5hood 20.12.2008, 17:59:20 |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 428 Pomógł: 128 Dołączył: 17.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Ok. Czyli dla ciebie ta funkcja jest niedostępna.
Co możesz zrobić? 1). Zainstaluj nowszą wersję php. lub 2). Użyj funkcji dostępnej w komentarzach fputcsv (wziąłem tą z pierwszego komentarza, nie sprawdzałem jej)
Ten post edytował ziqzaq 20.12.2008, 18:05:08 |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Cytat "w" otwiera plik, a jesli go nie ma, tworzy go - z tym bym się tak nie rozpędzał - na wielu "super" hostingach tworzenie plików "w locie" przez fopen podlega restrykcjom. Należy postępować (mniej więcej) tak:1. Sprawdzić, czy mamy odpowiednie prawa do miejsca, gdzie chcemy zapisać/utworzyć plik, jeśli nie, to error 2. Sprawdzić, czy plik istnieje - jeśli nie powołać go do życia funkcją touch() 3. Sprawdzić, czy mamy prawo zapisu do pliku - jeśli nie, spróbować je nadać (chmod), jeśli się nie uda - to error 4. Otworzyć plik i ZABLOKOWAĆ na czas zapisu - sprawdzić, czy udało się go otworzyć, jak nie to error 5. Zapisać dane i zamknąć plik - sprawdzić, czy się udało, jak nie to error 6. Dla pewności porównać datę i rozmiar przed i po zapisaniu - w dobrym tonie jest wywalić komunikat: "ostatnia modyfikacja 23 dni temu, dodano 2345 bajtów" itp. etc. 7. Jeśli używamy wynalazków typu fputcsv dostępnych od wersji PHP 5.1+, należy sprawdzić, czy taka funkcja istnieje - function_exists i wywalić error, lub zrealizować kod "B". Inaczej zamiast oglądać "W Pustynii i w Puszczy" będziesz szukał błędów. A jak skrypt napisał ktoś inny lub Ty rok temu? Nieprędko usiądziesz przed TV z czipsami w ręku. |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 189 Pomógł: 0 Dołączył: 16.05.2008 Ostrzeżenie: (10%) ![]() ![]() |
spróbuje zainstalować nową wersje
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 18:58 |