Autor | Zpráva | ||
---|---|---|---|
BUTon Profil |
#1 · Zasláno: 28. 5. 2007, 13:04:30
Ahoj všem, kteří tady ví víc než já (tedy asi všem),
coby PHPčkář amatér jsem se pustil do jednoduchého úkonu, který mi fungoval na webu, kde je PHP nižší verze a na novém s php5 mi neběží. Na první stránce chci nahrát fotky (fotku a její náhled), použiju: <form method="post" action="detaily_021.php" enctype="multipart/form-data"> Fotka: <br> <input name="soubor1" type="file"> <br> <br> <br> Náhled: <br> <input name="soubor2" type="file"> <br> <br> <br> <input type="submit" value="Nahrát" ><br> <br> Na druhé chci pod ní vyplnit krátké popisky, nicméně fotka se mi nezobrazí. Fyzicky na FTP ji najdu, tipuji tedy jen na chybu v syntaxi, s kteroužto válčím dost a dost... Používám: <?php if (is_uploaded_file($_FILES["soubor1"]["tmp_name"])) { $name = $_FILES["soubor1"]["name"]; $cesta = '../foto/' . $name; if(move_uploaded_file($_FILES["soubor1"]["tmp_name"], $cesta)) { echo '<img src="' . $cesta . '">'; $jmeno1=$name; } else { echo '<p>lituji soubor se nepodařilo přenést z dočasného adresáře...</p>'; } } else { echo '<p>lituji, soubor se nepodařilo přenést na server</p>'; } ?> a totéž pro náhled... Pokud na předchozí stránce žádné fotky nezadám, správně mi to vypíše tu větičku "Lituji..." Jak říkám, na php4xy to běželo, na php5 ne :( Předem díky za ochotu!!! BUTon |
||
DJ Miky Profil |
#2 · Zasláno: 28. 5. 2007, 13:15:03
Podle mě bude chyba někde v tom zadávání cesty ../foto/jmeno - adresa skriptu může být odlišná od jeho fyzického umístění, můžou blbnout adresy. Jestli ale na FTP skutečně fotka je, zkus se na ní dostat přímým zadáním adresy, pokud se zobrazí, problém bude v cestě u <img>.
|
||
BUTon Profil |
#3 · Zasláno: 28. 5. 2007, 13:20:26
Je to zvláštní, protože na FTP ji fyzicky najdu, podaří se mi ji stáhnout z FTP zpět na disk (tzn. tam fyzicky existuje), ale když na ni zkusím přímou cestu, tak je to 403 Forbidden...
|
||
DJ Miky Profil |
#4 · Zasláno: 28. 5. 2007, 13:23:56
Nemáš zakázaný přístup v .htaccess nebo adresář není jinak zakázaný?
Blbne to jen na jedné fotce nebo na všech? |
||
Peca Profil |
#5 · Zasláno: 28. 5. 2007, 13:28:29
Špatně nastavená práva. Mrkni, co tam je, případně to zkusi změnit chmod-em.
|
||
BUTon Profil |
#6 · Zasláno: 28. 5. 2007, 13:35:25
Jsme na dobré cestě... Když jsem na FTP (používám nějakej freeware, Faststream se to jmenuje) přehodil u fotky nahrané přes PHP práva u "Group o users" na "Read", tak se zobrazuje...
Fotky nahrané přes FTP mají toto právo ale už od začátku, otázka tedy zní, jak udělat, aby se fotky přes PHP nahrávaly i s tímhle právem... |
||
DJ Miky Profil |
#7 · Zasláno: 28. 5. 2007, 13:37:53
Funkcí chmod().
|
||
BUTon Profil |
#8 · Zasláno: 28. 5. 2007, 14:03:47
V naději jsem zkusil:
<?php if (is_uploaded_file($_FILES["soubor1"]["tmp_name"])) { $name = $_FILES["soubor1"]["name"]; $cesta = '../foto/' . $name; if(move_uploaded_file($_FILES["soubor1"]["tmp_name"], $cesta)) { chmod("$soubor1", 0777); echo "$cesta"; $jmeno1=$name; } else { echo '<p>lituji soubor se nepodařilo přenést z dočasného adresáře...</p>'; } } else { echo '<p>lituji, soubor se nepodařilo přenést na server</p>'; } ?> Nicméně stále neběhá... už to bude asi jen o tom, kam ten chmod prsknout, což ovšem já jako nePHPčkař nevím :( HTML jsem zvládnul nastudovat samostudiem, ale PHP je vyšší škola, tam bych se potřeboval naučit nejdřív myslet :( B. |
||
DJ Miky Profil |
#9 · Zasláno: 28. 5. 2007, 14:19:46
Umístil jsi to správně, jen to zřejmě máš se špatným parametrem - $soubor1 totiž neexistuje. Zkus to takto:
chmod($cesta, 0777); |
||
BUTon Profil |
#10 · Zasláno: 28. 5. 2007, 14:25:32
No vida, další krok :)
Tedy teď už se to zapisuje správně a na FTP jsou ta práva tak, jak si je určím, ale asi je pořád ještě chyba v té syntaxi, protože na té druhé stránce se mi ty fotky nezobrazí. Když k nim vypíšu cestu přímo, tak už je to OK ;-) |
||
DJ Miky Profil |
#11 · Zasláno: 28. 5. 2007, 14:30:02
Tak je zřejmě chyba v cestě v <img> - buďto logicky podle umístění skriptu, obrázku a adresy zkoušet nastavit jiné cesty, nebo zadat absolutní cestu, to by myslím neměl být problém.
|
||
BUTon Profil |
#12 · Zasláno: 28. 5. 2007, 14:38:37
DJ Miky, díky moc za čas, který jsi tomu věnoval! Takového poradce bych potřeboval mít v kapse :) (nebo na ICQ)
Už to funguje (problém byl už jen v tom, že jak jsem se v tom rejpal, byla ta syntaxe pokažená, ta stará samozřejmě pracuje ;-) ), jdu tedy vytvářet problémy o krok dál :))) Ještě jednou díky MOC! BUTon |
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0