Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Operacje na pliku
-JaroMus-
post 23.09.2005, 09:29:35
Post #1





Goście







Mam plik tekstowy nazwa.cnc Wygląda on następująco:

Machine Control File : out.cnc
Created by dxf2cnc.

%%%%%%%%%
G90 M3 F650
T4 Z8
F150.00 T2
G0 Z8
X179.00 Y119.00
Z1
G1 Z-0.50 F50.00
G1 X71.10 Y119.00 F150.00
G0 Z8
X179.00 Y11.00
Z1
G1 Z-0.50 F50.00
G1 X11.00 Y11.00 F150.00
G0 Z8
M5
G0 X0 Y0
M30
%%%%%%%%%%

Chcę napisać skrypt który będzie odczytywał po całej lini i gdy cztery pierwsze znaki będą to G1 Z to na końcu lini dopisze po space F50.00 a gdy będą to znaki G1 X, G2 X, G3 X to na końcu lini dopisze po space F150.00 (tak jak wyrzej dopisane na czerwono)

Dostałem od kolegi taki skrypt:

  1. <?php
  2. $f=fopen("jakis.cnc","r");
  3. if($f) {
  4. while(!feof($f)) {
  5. $line=fgets($f);
  6. switch(substr($line,0,4)) {
  7. case "G1 Z":
  8. $line.=" F50.00";
  9. break;
  10. case "G1 X":
  11. case "G2 X":
  12. case "G3 X":
  13. $line.=" F150.00";
  14. }
  15. echo $line."<br>";
  16. }
  17. fclose($f);
  18. }
  19. ?>


Jak zrobić żeby wybierać plik przez formularz
<input type="file" name="plik">

i żeby po przejściu tego skryptu plik był zapisany z tymi poprawkami ?

Proszę o pomoc. Mile widzianie przykłady kodu.
Go to the top of the page
+Quote Post
Ociu
post 23.09.2005, 10:29:08
Post #2





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




  1. <?php
  2. $f = fopen("jakis.cnc","r");
  3. if(!$f) die('Cannot open');
  4. foreach($f AS $line) {
  5. if(preg_match('/^G1 Z/'), $line) {
  6.  fputs($f, $line.' F50.00');
  7. } else {
  8. if(preg_match('/^G[1-3] X/'), $line) {
  9.  fputs($f, $line.' F150.00');
  10. }
  11. }
  12. ?>


Może tak ? Nie wiem czy to będzie działać, bo w ogóle nie orientuje się w plikach tekstowych.

pozdrawiam
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: 13.06.2025 - 04:14