Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Tiedoston poistaminen

Shintaja [20.01.2007 22:05:10]

#

Kun mulla on tässä sellanen koodi kun valitsee tiedoston ja painaa poista se poistaa sen mutta se silti heittää errorin =
Warning: unlink(uploads/): Is a directory in /home/finnetwo/public_html/testaus/finpix/***/Functions.php on line 43
ja poistamisen koodi on =

if($name1=="")
{
}
else{
echo delete($name1, $id);
}

HUOM noita on 10 ja toi function on =

function delete($name, $ids)
{
if (file_exists("uploads/$name")) {
unlink("uploads/$name");
}
$query ="*";
$result = mysql_query( $query ) or die ('didnt query');
$num = mysql_num_rows( $result );
$i=0;
while ($i < $num) {
$spacet=*;
$i++;
}

$query ="*";
$result = mysql_query( $query ) or die ('didnt query');

$query ="*";
$result = *;
$num = mysql_num_rows( $result );
$i=0;
while ($i < $num) {
$space=*;
$i++;
}
$space-=$spacet;
$query ="*";
$result = *;
echo "file $name deleted successfully<br>";
}

(Mod. edit: käytäthän jatkossa kooditageja. Selvä sisennyskään ei olisi pahasta.)

T.M. [20.01.2007 23:11:04]

#

Yrität poistaa kansiota, mutta tuo koodisi yrittää poistaa tiedostoa.

Kansion poistaminen ei ole turvallista moisilla napeilla, ettei satu vahinkoja.

Kansiota ei myöskään voi poistaa, jos se ei ole tyhjä.

Shintaja [20.01.2007 23:16:41]

#

T.M. kirjoitti:

Yrität poistaa kansiota, mutta tuo koodisi yrittää poistaa tiedostoa.

Kansion poistaminen ei ole turvallista moisilla napeilla, ettei satu vahinkoja.

Kansiota ei myöskään voi poistaa, jos se ei ole tyhjä.

huom se ei oo tyhjä unlink("uploads/$name"); $name on se filu joka tulee siihen kun tuo function kutsutaan

Antti Laaksonen [20.01.2007 23:31:57]

#

Jostain syystä tiedoston nimi ei välity funktioon asti. Sinun täytyy siis selvittää, missä vaiheessa muuttujan arvo onkin tyhjä. Tämä onnistuu parhaiten sopivien echo-lauseiden avulla. Skripti ehkä olettaa, että lomakkeen muuttujiin voi viitata suoraan niiden nimillä. Jos tämä on kielletty PHP:n asetuksissa, muuttujiin pitääkin viitata taulukoiden $_GET ja $_POST kautta. Esim. jos lomakkeella on name1-niminen tekstikenttä ja lähetystapa on post, täytyy merkitä $_POST['name1'].

Shintaja [20.01.2007 23:38:55]

#

Antti Laaksonen kirjoitti:

Jostain syystä tiedoston nimi ei välity funktioon asti. Sinun täytyy siis selvittää, missä vaiheessa muuttujan arvo onkin tyhjä. Tämä onnistuu parhaiten sopivien echo-lauseiden avulla. Skripti ehkä olettaa, että lomakkeen muuttujiin voi viitata suoraan niiden nimillä. Jos tämä on kielletty PHP:n asetuksissa, muuttujiin pitääkin viitata taulukoiden $_GET ja $_POST kautta. Esim. jos lomakkeella on name1-niminen tekstikenttä ja lähetystapa on post, täytyy merkitä $_POST['name1'].

siinä on $_POST ja ne tulee sinne se kyllä poistaa sen tiedoston mutta se SILTI heittää tota erroria se myös ilmoittaa että File deleted successfully mutta sen alle tulee sit toi error ja ku käyn kattoos sieltä kansiosta niin se on poistanu sen

Antti Laaksonen [20.01.2007 23:47:20]

#

Ilmeisesti funktiota kutsutaan ensin aivan oikein, mutta sitten jostain syystä uudestaan ilman tiedoston nimeä. Ilmiön tarkka syy ei selviä aloitusviestin koodistasi, mutta tutki erityisesti niitä kohtia, joissa funktiota kutsutaan.

Shintaja [20.01.2007 23:51:17]

#

ahh mä löysin missä oli vika jotenki se kutsu kaks kertaa sen function

Vastaus

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

Tietoa sivustosta