13 Mar 2008

Konfiguracja FCKEditor, problem z uploadem pliku

W pliku FCKEditora
 /edytor/editor/filemanager/browser/
default/connectors/php/commands.php

Umieszczone są funkcje do uploadu plików na serwer.
Około lini 212 można wykonać przypisanie nazwy pliku tymczasowego i uploadowanego do zmiannej:
$sFileName = $oFile[‚tmp_name’].’, ‚.$sFilePath; 

( $oFile przechowuje informacje o uploadowanym pliku) jest $oFile = $_FILES[‚NewFile’] ; )

Umożliwi to podejrzenie jakie pliki są przetwarzane przez FCKEditor.
W kolejne liniach kodu, zaczynając  od 214, wysyłąny jest kod JS:
 echo ‚<script type=”text/javascript”>’ ;
 echo ‚window.parent.frames[„frmUpload”].OnUploadCompleted(‚ . $sErrorNumber . ‚,”‚ . str_replace( ‚”‚, ‚\\”‚, $sFileName ) . ‚”) ;’ ;
 echo ‚</script>’ ;

Pokzauje on w przeglądarce wartość (wcześniej ustawionej) zmiennej $sFileName.

Następnie w pliku:
/edytor/editor/filemanager
/browser/default/frmupload.html

można zmodyfikować kod funkcj JS:

function OnUploadCompleted( errorNumber, data )
{
    alert(errorNumber + ‚ ‚ + data);

….

i włączyć alert z wyświetlaniem wartości przekazanych do funkcji.
Dzieki teme można zobaczyć wartość zmiennej
$sFileName = $oFile[‚tmp_name’].’, ‚.$sFilePath;

Przekazanej uprzednio w php.

W ten sposób można dojść do wniosku :), że dla serwerów home.pl, dla domeny przyczepionej do podkatlogu katalogu domowego głównej domeny, należy dodać w pliku php.ini definicję katalogu na upload plików.

upload_tmp_dir = /tmp_upload/

gdy to juz ustawiłem w zmiennej $oFile[‚tmp_name’] pojawiła się informacja o uplodaownym pliku
więc mogło zakończyć się sukcesem kopiowanie pliku

move_uploaded_file( $oFile[‚tmp_name’], $sFilePath ) ;