Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Hakemiston luominen, tiedoston copy sinne ja chmod

Mee [25.12.2006 12:03:01]

#

Millä koodilla saisi luotua uuden hakemiston, kopioitua sinne pääkansiosta varmaan 3? tiedostoa ja chmoodaamaan niistä yhden?

Kentti [25.12.2006 12:17:52]

#

mkdir,
copy,
chmod.

Tee ensin kansio mkdir:llä (katso linkit ja lue dokumentoinnit), esim foreach () looppiin tuo copy ja taulukkoon kopioitavien tiedostojen nimet ja sitten chmod se mikä pitää.

LazyJones [25.12.2006 12:17:54]

#

mkdir
copy
chmod

noitten kaivamiseen dokumentaatiosta meni noin 30 s. :P

Hyvää joulua!

Kentti [25.12.2006 12:26:26]

#

Hyvää joulu muillekkin :)

Ja Mee, koodi voisi näyttää tämän tapaiselta:

<?php

  $kopioitavat = array("C:\...\tiedosto1", "C:\...\tiedosto2", "C:\...\tiedosto3");

  mkdir("C:\...\omaKansio");

  foreach ($kopioitavat as $kopioitava) {

      $nimi = explode("\\", $kopioitava);

      copy($kopioitava, "C:\...\omaKansio".$nimi[count($nimi) - 1]);

  }

  chmod("tiedoston nimi", mode (esim. 755));

?>

Mee [25.12.2006 13:30:21]

#

Juu, ton taidan laittaa.
Hyvää joulua ja samantien tulevaa uutta vuottakin!
P.S. Kentti, virheet koodis:

Warning: mkdir(joonas) [function.mkdir]: File exists in /osoitejotaenkerro on line 5

Fatal error: Call to undefined function: mode() in /osoitejotaenkerro on line 15

Cornix [26.12.2006 17:40:17]

#

tarkista ensin, onko tiedostoja jo olemassa ennen niiden kopioimista. file_exists auttaa.

tsuriga [26.12.2006 18:18:28]

#

Saattaa auttaa jos korvaa tuon moden jollakin oikealla modella, kuten juurikin tuossa on esitetty seitenviisvitosta (mikä lie, emmuista sääntöjä). PHP:n virheilmoitukset ovat äärettömän kuvaavia, ne kertovat usein täsmälleen, missä vika. On olemassa myös dir_exists, huom! Ja taitaapa olla, että tiedostot eivät mene tuonne omaKansio-nimiseen kansioon, vaan sen yläkansioon nimellä omaKansio+tiedostonimi. En jaksa testata, liian hapokasta. end($nimi) palauttaa viimeisen alkion (ja siirtää pointterin sinne loppuun).

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta