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 ) ;