Nahrání souboru - cesta – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Nahrání souboru - cesta – PHP – Fórum – Programujte.comNahrání souboru - cesta – PHP – Fórum – Programujte.com

 

krot
~ Anonymní uživatel
11 příspěvků
23. 2. 2019   #1
-
0
-

Zdravím, chtěl jsem se zeptat jak se má správně psát cesta.

když mám tento kod v index.php tak to funguje dobře: 

move_uploaded_file($_FILES['picture']['tmp_name'], 'uplo
ads/soubor.jpg');

ale když ten stejneý kod volám z funkce v jiné složce tak to nefunguje (soubor se mi nahraje do C:) a musím na začátek připsat ".".DIRECTORY_SEPARATOR - tohle jde dobře i když to mám v index.php

dá se nějak zapsat root cesta?

Nahlásit jako SPAM
IP: 2a00:1028:9197:a4da:5446:b361:adfd:16ae...–
Kit+15
Guru
23. 2. 2019   #2
-
0
-

#1 krot
Zkus si vypsat 

var_dump($_SERVER);

Najdeš tam i pár dalších zajímavostí, které můžeš ve svých skriptech využít.

Nahlásit jako SPAM
IP: 46.174.34.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
krot
~ Anonymní uživatel
11 příspěvků
23. 2. 2019   #3
-
0
-

ale co znamená ta tečka? neni to náhodou root cesta? nebo jak se to má správně psát?

Nahlásit jako SPAM
IP: 2a00:1028:9197:a4da:5446:b361:adfd:16ae...–
krot
~ Anonymní uživatel
11 příspěvků
23. 2. 2019   #4
-
0
-

našel sem
["DOCUMENT_ROOT"]
mám to teda psát takhle:

$_SERVER["DOCUMENT_ROOT"].DIRECTORY_SEPARATOR.'uploads'.DIRECTORY_SEPARATOR.'soubor.jpg';

nebo s tou tečkou?

'.'.DIRECTORY_SEPARATOR.'uploads'.DIRECTORY_SEPARATOR.'soubor.jpg';

 

Nahlásit jako SPAM
IP: 2a00:1028:9197:a4da:5446:b361:adfd:16ae...–
Kit+15
Guru
23. 2. 2019   #5
-
0
-

#4 krot
Tečka znamená "aktuální adresář". Pokud potřebuješ absolutní cestu, tak tam samozřejmě nebude, tedy první verze.

Nahlásit jako SPAM
IP: 46.174.34.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
krot
~ Anonymní uživatel
11 příspěvků
24. 2. 2019   #6
-
0
-

#5 Kit
to je zajímavé, já tu funkci mám v jiné složce a jiném souboru a funguje to.

Nahlásit jako SPAM
IP: 2a00:1028:9197:a4da:1d7f:511a:10a1:c496...–
Kit+15
Guru
24. 2. 2019   #7
-
0
-

#6 krot
Jak je vidět, tak v některých případech ti to funguje a v jiných ne. Nejhorší scénář.

Nahlásit jako SPAM
IP: 46.174.34.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
krot
~ Anonymní uživatel
11 příspěvků
2. 3. 2019   #8
-
0
-

ještě bych měl poslední dotaz, mám to takto:

$cesta = rtrim($_SERVER["DOCUMENT_ROOT"], '/').DIRECTORY_SEPARATOR."img".DIRECTORY_SEPARATOR.$podslozky


jenže výsledkem je tohle: C:/xampp/htdocs/www\img\dinosauri

ten directory_separator dává opačné lomítko než document_root, mám to tedy psát taky jako "/" namísto toho directory_separator? k čemu je ten directory separátor teda dobrej když tam dává úplně něco jinýho?

Nahlásit jako SPAM
IP: 2a00:1028:9195:49fa:41c7:8379:bbf0:16a1...–
krot
~ Anonymní uživatel
11 příspěvků
2. 3. 2019   #9
-
0
-

myslel jsem že je chyba v těch lomítkách ale když mám funkci pro ověření zda je to složka

if (!is_dir($directory)) {
  return "neni složka";
}
...


tak je to pořád v bloku  a to i přez to že cíl je správný a existuje. Čím to je?

Nahlásit jako SPAM
IP: 2a00:1028:9195:49fa:41c7:8379:bbf0:16a1...–
Kit+15
Guru
2. 3. 2019   #10
-
0
-

#8 krot
DIRECTORY_SEPARATOR je v pořádku. Někde máš něco blbě, protože jsem si vyzkoušel $_SERVER["DOCUMENT_ROOT"] na Windows a jsou v něm zpětná lomítka. Může to být i tím, že nemám XAMPP, ale čisté PHP. Asi si budeš muset pohrát s konfigurací.

 

Nahlásit jako SPAM
IP: 176.74.142.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
krot
~ Anonymní uživatel
11 příspěvků
2. 3. 2019   #11
-
0
-

#10 Kit
jenže když dám relativníé cestu tak to funguje OK

Nahlásit jako SPAM
IP: 2a00:1028:9195:49fa:41c7:8379:bbf0:16a1...–
krot
~ Anonymní uživatel
11 příspěvků
2. 3. 2019   #12
-
0
-

nevím čím to bylo ale už to jde... sem si na 100 procent jistý že tu složřku jsem tam vytvořil ale ted jsem se podíval znovu a neblya tam, tak nevím čím to bylo. Ale nevadí to teda že tam jsou jednou takováto lomítka "/" a podruhý zas takováto "\"?

Nahlásit jako SPAM
IP: 2a00:1028:9195:49fa:41c7:8379:bbf0:16a1...–
Kit+15
Guru
2. 3. 2019   #13
-
0
-

#12 krot
PHP pro Windows mívá přednastaveno, že je to jedno. Oficiálně je však povoleno jen "/", na Linuxu by ti zpětné lomítko nefungovalo.

Nahlásit jako SPAM
IP: 94.113.242.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
peter
~ Anonymní uživatel
4014 příspěvků
4. 3. 2019   #14
-
0
-

pozn. Ono, logicky, lomitko / ma vetsi smysl. a / b bych definoval jako a nad b, klasicky zlomek. a je vys nez b. Nevim, proc si win vybrali to druhe.

Nahlásit jako SPAM
IP: 2001:718:2601:258:4dbc:3838:5a25:f2e0...–
Kit+15
Guru
4. 3. 2019   #15
-
0
-

#14 peter
Nejspíš to lomítko v cestě bylo tenkrát součástí nějakého patentu a museli vymyslet jiný oddělovač.

Nahlásit jako SPAM
IP: 46.174.34.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 47 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý