Autor Zpráva
jrw
Profil
Potřeboval bych změnit přístupové práva k souboru na serveru ale stále se mi to nedaří, nevíte kde by mohla být chyba?


$user = $_FILES['user']['tmp_name'];
$user_name = $_FILES['user']['name'];
$user_size = $_FILES['user']['size'];
$user_type = $_FILES['user']['type'];
$user_error = $_FILES['user']['error'];

if($user_error > 0)
{
echo 'Problém';
switch($user_error)
{
case 1: echo 'Soubor přesáhl upload_max_filesize'; bread;
case 2: echo 'Soubor přesáhl max_file_size'; break;
case 3: echo 'Soubor byl nahrán jen částečně'; break;
case 4: echo 'Soubor se nenahrál'; break;
}
exit;
}

$upfile = 'img/fotogalerie/' . $user_name;

if(is_uploaded_file($user))
{
if(!move_uploaded_file($user, chmod($upfile, 0777)))
{
echo 'Problém: soubor nelze přemístit do cílového adresáře';
exit;
}
}
D4V1D3K
Profil
A máš nastaveny práva 777 ve složce img/fotogalerie/ ?
jrw
Profil
mám
jrw
Profil
ale obrázek který tam uložím má 600 a nedaří se mi to změnit
D4V1D3K
Profil
Tak pokud máš nastaveny práva 777 pro adresář, kam nahráváš fotky, tak tam vůbec ten chmod nedávej. Myslím si, že by to mělo jet.

Move_Uploaded_File ($_FILES['File']['tmp_name'], ("img/fotogalerie/".$nazev_souboru));
jrw
Profil
Právě že to nefunguje, a to až do okamžiku než ručně nastavím práva té fotce na 777. Pak se to zobrazí. Jinak se vypisuje jen cesta k souboru. Nevím jestli mám chybu v zobrazování ale řekl bych že tady chyba není.

$sql = "select id_galerie,url,popis from galerie";
$vypis = mysql_query($sql, $id_spojeni);
if(!$vypis) {
echo 'Nepodařilo se načíst data!';
}
while ($radek = mysql_fetch_array($vypis)) {
echo '<p>' . $radek['id_galerie'] . '</p>';
echo 'nějaká fotka<img src="' . $radek['url'] . '" />';
}
D4V1D3K
Profil
Třeba máš zakázáno v PHP fci chmod, jak jsi měnil právo pro celou složku? Přes nějakého FTP manažera, nebo přes PHP?

Pročti si manual
jrw
Profil
Jestli je funkce chmod zakázána to se mi nepodařilo zjistit, (hledal jsem v phpinfo()) a práva jsem měnil v total commanderovi, Soubory > Změna atributů, ale zřejmě ne pro celou složku.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0