| 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: 11 let
|
|||
0