Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Kuvan tallennus, ei oikeuksia

AkeMake [08.01.2016 14:21:40]

#

Käytän MAMP:ia ja koetan tallentaa 'imagejpeg' -funktiolla pienentämäni kuvan 'kuvat' -kansioon, mutta 'is_writable' -funktio sanoo, ettei minulla ole oikeuksia kansioon eikä tallennus siksi onnistu. Annoin kansioon täydet oikeudet eikä tämä silti vaikuta asiaan. Mistä se vielä tökkii?

Metabolix [08.01.2016 14:31:11]

#

Miten olet antanut ”täydet oikeudet”? Millä käyttäjällä MAMP toimii? Mikä käyttäjä ja ryhmä hakemiston omistaa? Onko asetettu muille käyttäjille tai ryhmille erillisiä oikeuksia ACL:n kautta?

AkeMake [08.01.2016 14:40:47]

#

Macilla hiiren oikealla painikkeella valitsin 'get info' ja sieltä alhaalta löytyi kohta 'sharing & permissions'. Sen jälkeen vielä tarkistin, että varmasti on täydet oikeudet terminaalin kautta, jossa oikeuksiksi näytti 'drwxrwxrwx' (eli tieten sama kuin 0777 ?). Eli kaikilla ryhmillä on (kai?) siis täydet oikeudet kaikkeen. En tiedä millä käyttäjällä MAMP toimii, mutta ei minulla ole koneella muita käyttäjiä kuin tämä mitä käytän (+ Guest), joten kai se tällä toimii. Hakemiston omistajuutta en tiedä, mutta kai sekin on tällä käyttäjällä, kun muita ei ole.

Metabolix [08.01.2016 19:57:59]

#

Onko polku varmasti oikea? Pystytkö lukemaan hakemiston sisältöä?

AkeMake [09.01.2016 02:28:35]

#

Ratkaisu löytyi ja tietysti kaikki johtui omasta huolimattomuudesta. Luulin tarkistavani, että polku löytyy ja siihen on kirjoitusoikeudet (is_dir ja is_writable). Huomasin kuitenkin, että ehdot meni väärinpäin. Oli

if (is_dir($target)) {
   // palautetaan virhe
}

vaikka piti olla päinvastoin !is_dir($target) ja sama virhe oli is_writable -funktion kanssa. Kun olin nuo korjannut, niin sain ilmoituksen Warning: imagejpeg(kuvat) failed to open stream: Is a directory in ... Tämän ongelma oli siinä, että olin antanut imagejpeg -funktion toiseksi parametriksi ainoastaan hakemiston, jonne tallennetaan, ilman itse tiedoston nimeä ja päätettä. Tämän jälkeen kuvan tallentaminen onnistui ongelmitta.

Vastaus

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

Tietoa sivustosta