Autor | Zpráva | ||
---|---|---|---|
kuxa Profil |
#1 · Zasláno: 28. 2. 2015, 22:05:44
Zdravím,
vím, že to tu už mockrát bylo, ale stejně jsem odpověď nenašel... Mám skript na nahrávání souborů. Mám formulář a potom zpracování: if (isset ($_FILES["soubor"])) { if (is_uploaded_file($_FILES["soubor"]["tmp_name"])) { $jmeno_souboru = "neco.png"; if (move_uploaded_file($_FILES["soubor"]["tmp_name"], "soubory/".$jmeno_souboru)) { chmod("soubory/" . $jmeno_souboru, "0755"); echo "Soubor přesunut!" . "<br>"; echo "Velikost ".$_FILES["soubor"]["size"]; echo "<br>Tmp_jméno ".$_FILES["soubor"]["tmp_name"]; echo "<br>Jméno i s koncovkou ".$_FILES["soubor"]["name"]; } else { echo "Soubor se nepodařilo přesunout!" . "<br>"; } } else echo "Soubor nenahrán." . "<br>"; Jde o to, že soubor se úspěšně nahraje, i ho vidím na FTP, ale nejde stáhnout ani přes FTP (přístup odepřen), nejde na něj jít přímo odkazem (chyba 403) a nejde na něj ani odkázat (např. jako na obrázek). Takže to asi bude něco s oprávněním. Jenže právě to by měl řešit chmod . Napřed jsem u něj měl 0644, a když soubor nešel otevřít, tak jsem nastavil "volnější" 0755, které ale taky nefunguje.
Víte prosím někdo, jak můj problém vyřešit? Děkuji předem :) |
||
Davex Profil |
#2 · Zasláno: 28. 2. 2015, 23:00:49
Správně má být v druhém parametru číslo v osmičkové soustavě.
chmod("soubory/" . $jmeno_souboru, 0755); String "0755" se převede na číslo 755 , což je v osmičkové soustavě 01363 .
|
||
kuxa Profil |
#3 · Zasláno: 1. 3. 2015, 11:09:41
Davex: Děkuji za odpověď! Je možné, že by se to touto variantou dalo také vyřešit, nicméně už jsem na to přišel sám. Místo
$jmeno_souboru jsem do chmodu vložil $_FILES["soubor"]["name"] a funguje to perfektně :)
|
||
Časová prodleva: 9 let
|
0