🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.php
Article #252

Re: Analiza Skryptu

#252
From: Jacek Czapla
Date: Mon, 20 Aug 2001 12:37
162 lines
5854 bytes
Użytkownik "dOpe" <janek85@interia.pl> napisał w wiadomości
news:9lotms$ohu$1@news.tpi.pl...
> Dzien dobry grupowicze :))
> W trakcie wykonywania kodu php zwraca rozne dziwne wartosci... chodzi tu o
> parse errory.Wiem ze to bledy pisowni ale podane linie m.in 14 i 16 nie
> podchodza mi jako bledne.Moze ktos przeanalizowac ten skrypt ? Ja robilem
to
> juz 3 razy i niczego sie nie doszukalem...
>
> <?PHP
> {
> $plik = fopen("$xywa/wpis.txt","a+");
> $plik2 = fopen("$xywa/DrugiWpis/wpis.txt","a+");
> $plik3 = fopen("$xywa/TrzeciWpis/wpis.txt","a+");
> $plik4 = fopen("$xywa/CzwartyWpis/wpis.txt","a+");
> $plik5 = fopen("$xywa/PiatyWpis/wpis.txt","a+");
>
> if(is_dir($xywa));
> mkdir("$xywa/DrugiWpis',0700);
> fwrite($plik2,"$pole");
> fclose($plik2);
>
> if(is_dir($xywa/DrugiWpis));
> mkdir("$xywa/TrzeciWpis",0700));
> fwrite($plik3,"$pole");
> fclose($plik3);
>
> if(is_dir($xywa/TrzeciWpis));
> mkdir("$xywa/CzwartyWpis",0700);
> fwrite($plik4,"$pole");
> fclose($plik4);
>
> if(is_dir($xywa/CzwartyWpis));
> mkdir("$xywa/PiatyWpis",0700));
> fwrite($plik5,"$pole");
> fclose($plik5);
>
> elseif(mkdir("$xywa",0700));
> fwrite($plik,"$pole");
> fclose($plik);
> echo("Jakis tam text :)");
> }
> ?>
>
> Porozdzielalem dla wiekszej widocznosci.. nie wiem czy w wykonywaniu ma to
> znaczenie. Nie stworzyl sie ani jeden katalog... w czym tkwi blad ? Moje
PHP
> to 4.06 na NT5.0 z IIS5.0 dla scislosci :)

Ostatecznie powinno byc tak
<?php

if(is_dir($xywa)){
    mkdir("nazwa katalogu",0700);
    $plik2 = fopen("nazwa_katalogu/nazwa_pliku","a+");
    fwrite($plik2,"jakis_text");
    fclose($plik2);
}

?>
Dziala - sprawdzalem na WIN 2000 -  PHP 4.0 i takze IIS

A teraz uwagi

Jesli otwierasz cudzyslow " to zamykaj go tez ". Znak " i ' nie sa tozsame.

Prawde mowiac nie chce mi sie sprawdzac, ale mysle, ze najpierw powinienes
tworzyc katalogi (mkdir()), a potem otwierac pliki w tych katalogach, a ty
probojesz otwierac kilka plikow nie wiedzac, czy istnieja takie katalogi

Po warunkach if(...) nie stawia sie srednika !!!!!!!!!!!!!!!!!!! PODTSAWY
!!!!!!!!!!!!!!!!!!!!!!!!

Nie wiem dokladnie o co chodzi, ale zaloze sie ze istnieje bardziej
eleganckie rozwiazanie niz pisanie warunkow w nieskonczonosc.

 <?PHP
 if(is_dir("$xywa")){
     mkdir("$xywa/DrugiWpis",0700);
    $plik2 = fopen("$xywa/DrugiWpis/wpis.txt","a+");
     fwrite($plik2,"$pole");
     fclose($plik2);

     if(is_dir("$xywa/DrugiWpis")){
         mkdir("$xywa/TrzeciWpis",0700);
         $plik3 = fopen("$xywa/TrzeciWpis/wpis.txt","a+");
         fwrite($plik3,"$pole");
         fclose($plik3);
    }

     if(is_dir("$xywa/TrzeciWpis")){
         mkdir("$xywa/CzwartyWpis",0700);
         $plik4 = fopen("$xywa/CzwartyWpis/wpis.txt","a+");
         fwrite($plik4,"$pole");
         fclose($plik4);
    }

     if(is_dir("$xywa/CzwartyWpis")){
         mkdir("$xywa/PiatyWpis",0700);
          $plik5 = fopen("$xywa/PiatyWpis/wpis.txt","a+");
         fwrite($plik5,"$pole");
         fclose($plik5);
     }
} else{
     mkdir("$xywa",0700);
     $plik = fopen("$xywa/wpis.txt","a+");
     fwrite($plik,"$pole");
     fclose($plik);
     echo("Jakis tam text :)");
 }
 ?>

Skrypt ten za pierwszym wykonaniem utworzy katalog o nazwie $xywa, a w
kolejnym wykonaniu wszystkie inne katalogi a w nich pliki wpis.txt.
O to chodzilo???

Jesli chodzilo o kolejne tworzenie katalogow (po kolejnych wykonaniach
skryptu) to trzeba by to troche zmienic.

 <?PHP
    if(!is_dir("$xywa")){
         mkdir("$xywa",0700);
         $plik = fopen("$xywa/wpis.txt","a+");
         fwrite($plik,"$pole");
         fclose($plik);
         echo("Jakis tam text :)");
    }
    else if(is_dir("$xywa") && !is_dir("$xywa/DrugiWpis")){
         mkdir("$xywa/DrugiWpis",0700);
        $plik2 = fopen("$xywa/DrugiWpis/wpis.txt","a+");
         fwrite($plik2,"$pole");
         fclose($plik2);

    }
    else if(is_dir("$xywa/DrugiWpis") && !is_dir("$xywa/TrzeciWpis")){
         mkdir("$xywa/TrzeciWpis",0700);
         $plik3 = fopen("$xywa/TrzeciWpis/wpis.txt","a+");
         fwrite($plik3,"$pole");
         fclose($plik3);
    }
    else  if(is_dir("$xywa/TrzeciWpis") && !is_dir("$xywa/CzwartyWpis")){
         mkdir("$xywa/CzwartyWpis",0700);
         $plik4 = fopen("$xywa/CzwartyWpis/wpis.txt","a+");
         fwrite($plik4,"$pole");
         fclose($plik4);
    }
    else if(is_dir("$xywa/CzwartyWpis") && !is_dir("$xywa/PiatyWpis")){
         mkdir("$xywa/PiatyWpis",0700);
         $plik5 = fopen("$xywa/PiatyWpis/wpis.txt","a+");
         fwrite($plik5,"$pole");
         fclose($plik5);
     }
 ?>

Obydwa skrypty sprawdzone i dzialaja prawidlowo.


Pozdrowienia

------------------------------------------------------------
Jacek Czapla          jczapla@lctt.pol.lublin.pl
------------------------------------------------------------
Technical Details
Message-ID: <9lr0iv$eee$1@news.lublin.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!mat.uni.torun.pl!news.man.torun.pl!news.icm.edu.pl!lublin.pl!news.lublin.pl!not-for-mail
References: <9lotms$ohu$1@news.tpi.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!mat.uni.torun.pl!news.man.torun.pl!news.icm.edu.pl!lublin.pl!news.lublin.pl!not-for-mail
From: "Jacek Czapla" <jczapla@lctt.pol.lublin.pl>
Newsgroups: pl.comp.lang.php
Subject: Re: Analiza Skryptu
Date: Mon, 20 Aug 2001 14:37:19 +0200
Organization: lubman
Lines: 164
Message-ID: <9lr0iv$eee$1@news.lublin.pl>
References: <9lotms$ohu$1@news.tpi.pl>
NNTP-Posting-Host: automat.pol.lublin.pl
X-Trace: news.lublin.pl 998311327 14798 212.182.17.61 (20 Aug 2001 12:42:07 GMT)
X-Complaints-To: abuse@news.lublin.pl
NNTP-Posting-Date: Mon, 20 Aug 2001 12:42:07 +0000 (UTC)
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 5.00.2919.6700
X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6700
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit