Portál AbcLinuxu, 5. května 2025 23:32

Dotaz: Absolutní cesta a relaitvní cesta -> prosím pomozte... ď.

11.2.2014 11:13 Aricak
Absolutní cesta a relaitvní cesta -> prosím pomozte... ď.
Přečteno: 222×
Odpovědět | Admin
Příloha:
Vážení přátele, Na localhostu se morduji s absolutní a relativní cestou mám script (níže) který načte obrázek a obrázek zmenší na patřičné velikosti, ale je problém s tím, že se obrázek načte jen když je ve stejné složce jako script, když dám jakoukoliv jinou cestu script se neprovede.

Když dám do proměnné $fileOpenToRead = ./datatemp/images/ tak pořád script nevezme obrázek z jiné složky než je script Zkoušel jsem všechno možné a jsem beznadějný.

Zkouším to na Wampu.

Script potřebuje incude na zmenšování obrázků

Prosím o radu

PS: Jsem začátečeník v PHP jestli je script sprasen tak se omlouvám.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

11.2.2014 12:09 Sten
Rozbalit Rozbalit vše Re: Absolutní cesta a relaitvní cesta -> prosím pomozte... ď.
Odpovědět | | Sbalit | Link | Blokovat | Admin
Relativní cesta je relativní k adresáři, kde byl skript spuštěný, ne k adresáři, kde se skript nachází. Spolehlivě najít, kde se skript nachází, je dost obtížné, ale pro většinu případů stačí dirname($argv[0]).
11.2.2014 12:28 chrono
Rozbalit Rozbalit vše Re: Absolutní cesta a relaitvní cesta -> prosím pomozte... ď.
A kompletnejšia odpoveď sa dá nájsť napr. tu.
11.2.2014 12:29 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Absolutní cesta a relaitvní cesta -> prosím pomozte... ď.
<?php
$path=dirname(readlink(__FILE__));
echo $path;
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
11.2.2014 12:53 Aricak
Rozbalit Rozbalit vše Re: Absolutní cesta a relaitvní cesta -> prosím pomozte... ď.

Děkuji za odpovědi,

zkusil jsem dát

<?php $path=dirname(readlink(__FILE__)); echo $path;

a cyklus ve kterým je kód se zastavil, z databazé vyleze jen první záznamy

11.2.2014 15:24 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Absolutní cesta a relaitvní cesta -> prosím pomozte... ď.

Reagoval jsem na
„Spolehlivě najít, kde se skript nachází, je dost obtížné, ale pro většinu případů stačí dirname($argv[0]).“,
a chtěl jsem tím nabídnout možnost, kterou považuji za jednoduchou, jak zjistit cestu daného scriptu.
Kód:

$path=dirname(readlink(__FILE__));
do $path vloží tu cestu.

Tvé reakci nerozumím, a na původní kód jsem se (zatím) nedíval :(.

To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
11.2.2014 15:41 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Absolutní cesta a relaitvní cesta -> prosím pomozte... ď.
Odpovědět | | Sbalit | Link | Blokovat | Admin

Dáváš do $fileOpenToRead jakousi divnou cestu s C: na začátku, tedy jako by to bylo na herní konzoli a pak ve $filename_work2 máš normální, ale relativní cestu.

fopen() vrací false při neúspěchu a to je třeba testovat (stejně jako například fwrite()).

Nejsem si jist jestli rozumím popsanému problému, doporučuji kód minimalizovat a vyřešit si jen daný problém a přesněji ho popsat (script se neprovede, je bezva, nicméně ještě víc je bezva proč, a která fce zklame.).

PS: Na false musíš (měl bys) testovat pomocí operátoru ===

if(($fileread = fopen($fileOpenToRead, "r")) === false){
  //chyba něco s tím udělej
}

To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.