Autor: Henik (---.4net.pl)
Data: 07.10.00 13:35
Jest taki problem. wykonuje upload ze skryptu
php, tzn. w skrypcie php jest formularz, ktory
nastepnie za pomoca uploadu przesyla plik
do serwera, oczywiscie do katalogu /tmp z
wygenerowana nazwa . ogladam plik w /tmp i zalozmy
ma on nazwe form0011.tmp Nastepnie
powinienem przeniesc go do miejsca docelowego, i
tu zaczyna sie problem. otoz chce go przeniesc
nie skryptem php lecz programem w c pracujacym
jako cgi (ze wzgledow bezpieczenstwa). Skrypt
Cgi nie dostaje nazwe pliku w zmiennej systemowej,
jednak nie jest to nazwa prawdziwa tzn.
/tmp/form0011.tmp lecz php00001. Jest
to wiec calkowicie inna nazwa niz fizyczna nazwa
pliku na dysku. Sprawdzilem, ze skrypt php, ktory
dokonuje przeniesienia tego pliku do jakiego miejsca
w systemie tez widzi zla nazwe tzn. ph00001 ale
bez problemu przenosi plik do nowego miejsca.
Jest to bardzo dziwny mechanizm i nie wiem dlaczego
tak dziala. Poradzilem sobie z tym w ten sposob, ze
skrypt php aktory jest reakcja na upload zmienia nazwe
pliku na inna ale dalej w /tmp, a pozniej wywoluje
skrypt cgi, ktory juz bez problemu przenosi plik
z nowa nazwa do miejsca docelowego w systemie.
Uwazam jednak ze jest to zbyt okrezne rozwiazanie
i byc moze ktos wie jak to zrobic prosciej
Pozdrawiam
Heniek
|
|