Mikä mättää tässä koodissa? Teen vieraskirjaa jossa voi liittää kuvia viestien mukaan. Ongelma on vaan siinä että tiedoston siirto ei toimi. Chmodaus tapahtuu sivun alussa eli se puoli pitäisi olla kunnossa...
<?php $yhteys=mysql_connect("localhost","","") or die("Tietokantayhteyttä ei voitu avata"); mysql_select_db("vieraskirja") or die ("Tietokantaa ei voitu avata"); chmod("E:\kuvat", 777); ?> <form name="form1" method="post" action=""> <table width="468" border="0" cellpadding="5"> <tr> <td width="442">Kirjoittaja: <?php $mysql_haku = mysql_query("SELECT tunnus FROM kayttajat ORDER BY tunnus"); print "<select name='kirjoittaja' id='kirjoittaja'>"; while($mysql_tiedot = mysql_fetch_array($mysql_haku)){ print "<option value=".$mysql_tiedot["tunnus"].">".$mysql_tiedot["tunnus"]."</option>"; } print "</select>"; ?> </td> </tr> <tr> <td><textarea name="kommentti" cols="50" rows="10" wrap="VIRTUAL" id="kommentti">Kirjoita tähän...</textarea></td> </tr> <tr> <td><p>Valitse tallennettava tiedosto:<br> <input type=file name="tiedosto"> </p> <p>Kuva teksti<br> <input name="kuvateksti" type="text" id="kuvaus2" size="50"> </p></td> </tr> <tr> <td><input name="send" type="submit" id="send2" value="Lähetä kommentit"> <input type="reset" name="Submit2" value="Tyhjennä"> <?php $pvm = date("d.m.y H:i:s"); if (isset($_POST['send'])) { mysql_query("INSERT INTO kirja (tunnus,kommentit,pvm,kuvaus,kuvanosoite) VALUES ('$kirjoittaja','$kommentti','$pvm','$kuvateksti','$kuvanosoite')"); if(is_uploaded_file($_FILES['tiedosto']['tmp_name'])) { $nimi = ".E:\\kuvat\\".$_FILES['tiedosto']['name']; move_uploaded_file($_FILES['tiedosto']['tmp_name'], $nimi); echo "Tiedosto ".$_FILES['tiedosto']['tmp_name']." on kopioitu hakemistoon ".$nimi."\n"; } else { echo "Vituralleen meni, tiedoston nimi oli: " . $_FILES['tiedosto']['name']; } } ?> </td> </tr> </table> </form> <?php $kysely=mysql_query ("SELECT id,tunnus,kommentit,pvm FROM kirja ORDER BY id DESC"); $lkm=mysql_num_rows($kysely); print "<b>Vieraskirjassa on $lkm viestiä </b><br><br>"; /* Tulostetaan talukko */ //käydään leffat läpi for ($i = 0; $i < mysql_num_rows($kysely); $i++) { //haetaan leffan nimi, kategoria ja cd-määrä muuttujiin $kir = mysql_result($kysely, $i, "tunnus"); $kom = mysql_result($kysely, $i, "kommentit"); $paeva = mysql_result($kysely, $i, "pvm"); echo "<table cellpadding=\"5\">"; echo "<tr> <td width='500' bgcolor=\"#CCCCCC\"><b><font color=blue>$kir</font></b><font size=\"-1\"> [$paeva]</font></td> <tr><td width='500'>$kom</td></tr> </tr>"; echo "</table>"; } ?>
Huomaa ettei windowsilla voi käyttää chmod-komentoa. Windows yrittää itse antaa tiedostoille tarvittavat oikeudet.
Ahaas! Mistä mä tiedän sitten että onko toi vika kansion oikeuksissa vai missä...?
jarspa kirjoitti:
Ongelma on vaan siinä että tiedoston siirto ei toimi
Mittää en mistää tiedä, mutta formilla voisi olla
<form action="jokin.php" method="post" enctype="multipart/form-data">
Näin olen oppinut file kenttiä sisältävän formin aloittamaan.
PHP antaa ilmoituksen siitä, mikä on vikana :D
>> $nimi = ".E:\\kuvat\\".$_FILES['tiedosto']['name'];
Miksi tuon polun alussa on piste?
öö jaa a
Aihe on jo aika vanha, joten et voi enää vastata siihen.