Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zapisanie pliku na serwerze
Lacki2006
post 1.01.2021, 23:53:56
Post #1





Grupa: Zarejestrowani
Postów: 107
Pomógł: 0
Dołączył: 3.03.2012

Ostrzeżenie: (0%)
-----


Witam
Zarobiłem plik generujący raz dziennie plik csv z produktami w sklepie plik fajnie się generuje lecz mam problem z zapisanie go na serwerze w katalogu gdzie jest plik generujący używam takiego skrypt lecz plik jest pobierany na komputer zamiast zapisać go na serwerze czy możecie doradzić jak zrobić aby plik był zapisywany na serwerze.
  1. $fp = fopen('php://output', 'w');
  2. foreach ($user_CSV as $line) {
  3. // though CSV stands for "comma separated value"
  4. // in many countries (including France) separator is ";"
  5. fputcsv($fp, $line, ',');
  6. }
  7. fclose($fp);


Orientujecie się może czy można zrobić aby plik był nadpisywany o tej samej nazwie raz dziennie robię tak aby cron raz dziennie wygenerował nowy plik z produktami w sklepie internetowym jak produkt zostanie dodany przez admina to raz dziennie plik csv zostanie zaktualizowany a nowy produkt pojawi się w plik który następnie zostanie pobrany do sklepu Facebook

Dzięki za poradę


--------------------
----------------------------------------------------------------------------
Najlepsza scianka reklamowa z darmową dostawą w całej polsce.
Go to the top of the page
+Quote Post
LowiczakPL
post 3.01.2021, 09:29:16
Post #2





Grupa: Zarejestrowani
Postów: 531
Pomógł: 55
Dołączył: 3.01.2016
Skąd: Łowicz

Ostrzeżenie: (0%)
-----


A może to pomoże https://www.php.net/fputcsv


--------------------
Szukam zleceń Symfony, Laravel, Back-End, Front-End, PHP, MySQL ...
Go to the top of the page
+Quote Post
Pyton_000
post 3.01.2021, 13:28:09
Post #3





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


zmień `'php://output'` na nazwę pliku i gotower
Go to the top of the page
+Quote Post
Lacki2006
post 3.01.2021, 15:13:48
Post #4





Grupa: Zarejestrowani
Postów: 107
Pomógł: 0
Dołączył: 3.03.2012

Ostrzeżenie: (0%)
-----


Zmieniłem ale dalej zamiast zapisywać to pobiera katalog ma uprawnienia 777
Aktualnie cały kod wyglada tak plik generuje się prawidłowo ale nie zapisuje na serwera :
  1. <?
  2. header('Content-Type: text/csv');
  3. header('Content-Disposition: attachment; filename="produkty_w_sklepie.csv"');
  4.  
  5. $user_CSV[0] = array('id', 'title', 'description', 'availability', 'condition', 'price', 'link', 'image_link', 'brand', 'additional_image_link', 'age_group', 'color', 'gender', 'item_group_id', 'google_product_category', 'material', 'pattern', 'product_type', 'sale_price', 'sale_price_effective_date', 'shipping','shipping_weight', 'size', 'custom_label_0', 'custom_label_1', 'custom_label_2', 'custom_label_3', 'custom_label_4');
  6.  
  7. // very simple to increment with i++ if looping through a database result
  8. // łączenie z bazą
  9. include "..//polaczenie.php";
  10. $id = '0';
  11. $status = '0';
  12. $stmt = $dbh->prepare("SELECT `id`,`nazwa_produktu`,`cena_sprzedazy`,`link_do_produktu`,`nazwa_kategorii`, `meta-description` ,`zdjecie`,`nazwa_kategorii` FROM produkty WHERE dostepnosc = 1 ORDER BY id ASC");
  13. $stmt->bindParam(':status', $status);
  14. $stmt->execute();
  15. $opinie = $stmt->fetchAll();
  16. foreach($opinie as $row) {
  17. $id = $id+1;
  18. $user_CSV[$id] = array(''.$id.'', ''.$row['nazwa_produktu'].'', ''.$row['meta-description'].'', 'in stock', 'new', ''.$row['cena_sprzedazy'].'.00 PLN', ''.$row['link_do_produktu'].'', ''.$row['zdjecie'].'', 'irollup', ''.$row['link_do_produktu'].'','adult', 'silver', 'unisex', ''.$row['nazwa_kategorii'].'', ' ', 'aluminium', '', '', ''.$row['cena_sprzedazy'].'.00 PLN', '', '', '', '', '', '', '', '', '');
  19. };
  20.  
  21.  
  22. $fp = fopen('produkty_w_sklepie.csv', 'w');
  23. foreach ($user_CSV as $line) {
  24. // though CSV stands for "comma separated value"
  25. // in many countries (including France) separator is ";"
  26. fputcsv($fp, $line, ',');
  27.  
  28. }
  29.  
  30. fwrite("produkty_w_sklepie.csv",$fp );
  31. fclose($fp);
  32.  
  33. die();
  34.  
  35.  
  36. ?>


Macie pomysł co zmienić aby wygenerowany plik zapisywał się na serwerze ?

Jednak działa dziękuję za pomoc . Powyższy plik działa prawidłowo .


--------------------
----------------------------------------------------------------------------
Najlepsza scianka reklamowa z darmową dostawą w całej polsce.
Go to the top of the page
+Quote Post
viking
post 3.01.2021, 15:43:24
Post #5





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Ustawiasz nagłówki które jasno mówią że ma być pobrany plik.


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 20.04.2024 - 15:49