Article View: pl.comp.lang.php
Article #252Re: Analiza Skryptu
From: Jacek Czapla
Date: Mon, 20 Aug 2001 12:37
Date: Mon, 20 Aug 2001 12:37
162 lines
5854 bytes
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-mailReferences:
<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