Autor | Zpráva | ||
---|---|---|---|
Andrej.B Profil |
#1 · Zasláno: 23. 3. 2022, 15:13:52
Zdravim,
mam kod, ktory sa pozera, ci existuje PDF v zlozke. Ak hej, urobi mi klikatelny odkaz na stiahnutie. Zlozka existuje a aj PDF, ale vzdy mi da, ze neexistuje. Nizsie som si dal aj co obsahuju premenne a funguju, ukazu dobru zlozku, ID zakazky,ci koncovku PDF. Doteraz to fungovalo, ze si uzivatel len nahral do zlozky PDF subor z cislom zakazky a automaticky mu to zobrazovalo. 2 roky to normalne fungovalo, teraz nejaky cas nie. Vobec sa neupdatoval PHP 7.3 ci Apache2.2. Vzdy sa kod vyhodnoti ako if(count($results) == 0) aj ked to PDF tam urcite je. Ako by som si mohol skontroloavt, co je zle. Dakujem <?php $dir = ''.$environment.'/_docs/testy'; $ext = '.pdf'; $search = $_GET['zakazkaid']; $results = glob("$dir/*$search*$ext"); if(count($results) == 1) { $item = $results[0]; echo '<strong>Testy - </strong>'; echo "<a title=\"ukaz certifikat/pdf\" class=\"btn btn-sm btn-outline-success\" href=''".$environment."'/$item'>Stiahnut</a>\r\n"; } if(count($results) == 0) { echo "<strong>ziadny Test na stiahnutie<strong><br>"; echo $dir;// zobrazi cestu k PDF suborom http://example.com/_docs/testy echo '<br>'; echo $search; // zobrazi id zakazky echo '<br>'; echo $ext; // pdf } ?> |
||
juriad Profil |
#2 · Zasláno: 23. 3. 2022, 18:51:35
Zkus si vypsat:
var_dump(realpath($dir)); var_dump(scandir($dir)); var_dump(glob("$dir/*")); Vypadá to všechno v pořádku? |
||
Andrej.B Profil |
30 var_dump(realpath($dir)); 31 var_dump(scandir($dir)); 32 var_dump(glob("$dir/*")); http://example.com/_docs/testy ): Failed to open directory: not implemented in C:\xampp\htdocs\vhost\example.com\include\testy.inf.php on line 31
Warning: scandir(): (errno 2): No such file or directory in C:\xampp\htdocs\vhost\example.com\include\testy.inf.php on line 31 C:\xampp\htdocs\vhost\example.com\include\testy.inf.php:31:boolean false C:\xampp\htdocs\vhost\example.com\include\testy.inf.php:32: array (size=0) empty Pokial si dam adresu http://example.com/_docs/testy ,tak mi ukaze vsetky pdf, co su vo vnutri. Kod fungoval posledne 3 roky, nic som neupdatoval. Prave pri kontrole auditora, ktory chcel vidiet jednotlive testy, nam pri vsetkom ukazuje <strong>ziadny Test na stiahnutie<strong>.
|
||
Keeehi Profil |
Ty funkce fungují s lokálními adresáři. Tedy místo
http://example.com/_docs/testy bys tam měl mít C:\xampp\htdocs\vhost\example.com\_docs\testy
Jelikož by bylo dobré, abys měl relativní adresářovou strukturu stejnou ve všech prostředích, psal bych tu adresu relativně. Tedy místo url bych začal tečkou a pak šel v adresářové struktuře jak by bylo potřeba. Nebo použít $_SERVER["DOCUMENT_ROOT"] . "_docs/testy" (pokud je document root správně nastaven)
|
||
Andrej.B Profil |
#5 · Zasláno: 24. 3. 2022, 08:10:04
zaujimave, ze mi to fungovalo aj predtym.
Dakujem za pomoc, opravene ako $_SERVER["DOCUMENT_ROOT"] . "_docs/testy" |
||
Andrej.B Profil |
#6 · Zasláno: 24. 3. 2022, 09:20:39
Este jeden problem vystanul.
Vsetky testy boli do konca roka 2021 v tvare 6004020.pdf /cislo bolo cislom zakazky/a script v pohode fungoval a vyhladava cely pattern. Avsak vo firme zmenili vyrobny program od roku 2022 a zakazky zacinaju cislom 1 a vyssie. Co teraz vlastne spravi problem, kedze script najde aj napriklad c. 2 v teste ako 6004020. Je moznost script nejako upravit aby vyhladaval len cisla v celku? Cize napriklad 2 najde len ak je to cislo 2 samostatne a nie v retazci 6004020? Nemam uz sancu to nejako vo velkom prerabat. Ked som tento system robil, zdalo sa mi, ze je to najjednoduchsie pre uzivatela z kvality len nahravat pdf do adresara. |
||
anonym_ Profil * |
#7 · Zasláno: 24. 3. 2022, 09:23:35
Andrej.B:
Zamysli se (nebo otevři dokumentaci), co znamenají ty hvězdičky. |
||
Andrej.B Profil |
#8 · Zasláno: 24. 3. 2022, 09:29:56
anonym:
kukal som do manualu a vobec ma nenapadlo to dat bez hvezdicky :) Dakujem moc. Special characters: * - Matches zero or more characters. |
||
Keeehi Profil |
#9 · Zasláno: 24. 3. 2022, 09:32:57
Pokud takhle znáš celé jméno, je pak zbytečné používat glob a úplně ti bude stačit
file_exists
|
||
Andrej.B Profil |
#10 · Zasláno: 24. 3. 2022, 10:01:03
Keeehi:
je to stare cca 4 roky, nechce sa mi uz do toho moc zasahovat, uz si nic nepamatam a funguje to dobre. Teraz by som to spravil asik inak. |
||
Časová prodleva: 2 roky
|
0