sytuacja
strona page_upload.php
  1. <?php
  2. if(authorization()){
  3. $title=clean_data($_POST[&#092;"title\"]);
  4. $comment=clean_data($_POST[&#092;"comment\"]);
  5. if($_POST[&#092;"what\"]=='send'){
  6. if($title){
  7. $result_tex=upload_file(&#092;"filetex\");
  8. if($result_tex==true){
  9. $result_pdf=upload_file(&#092;"filepdf\");
  10. $result_ps=upload_file(&#092;"fileps\");
  11. if($result_pdf==true||$result_ps==true){
  12. }
  13. $error=$result_pdf.$result_ps;
  14. }
  15. else
  16. $error=$result_tex;
  17. }
  18. else
  19. $error=&#092;"Please fulfill required fields.\";
  20. }
  21. add_article_form($title,$comment);
  22. print $error;
  23. }
  24. else
  25. redirection(&#092;"index.php\");
  26. ?>


funkcja upload_file()
  1. <?php
  2. function upload_file($data){
  3. if(!is_uploaded_file($_FILES[$data]['tmp_name'])) return &#092;"Problem with upload file: \";
  4. if($_FILES[$data]['error'] != 0) return &#092;"Oversize of file: \";
  5. //Sprawdzamy MIME TYPE pliku
  6. switch($data){
  7. case &#092;"filetex\": $condition=\"application/octet-stream\";break;
  8. case &#092;"filepdf\": $condition=\"application/pdf\";break;
  9. case &#092;"fileps\": $condition=\"application/postscript\";break;
  10. }
  11. if($_FILES[$data]['type'] == $condition{
  12. //Dotarliśmy tutaj to wszystko jest OK = UPLOAD
  13.  
  14. if(move_uploaded_file($_FILES[$data]['tmp_name'], &#092;"../../upload/\".$_FILES[$data]['name'])){
  15. print &#092;"poszlo\";
  16. return true;
  17. }
  18. else
  19. return &#092;"Unexpected error has taken a stand during upload\";
  20. }
  21. else
  22. return &#092;"You can upload only tex, pdf, ps.\";
  23. }
  24. ?>


strona ma uploadowac tylko pliki tex,pdf,ps , z czego tex jest wymagany a do tego pdf lub ps,
problem w tym ze nie wiem jak zrobic cos takiego
pliki moga miec rozmiar max 1mb
wiec jesli tex bedzie mial ponizej 1mb a pdf powyzej 1 pdf, to wywali blad, a w kolejnym uploadowaniu bedzie musial ponownie wskazac i zaladowac plik tex - co niekoniecznie jest dobrym pomyslem

pozatym pliki musza miec taka sama nazwe, roznic sie tylko rozszerzeniem, w przypadku *.tex, *.pdf, to jeszcze ujdzie sprawdzenie, ale jak zaaplikowac *.*.*.tex,*.*.*.pdf??

czy MIME "application/octet-stream" akceptuje jakies inne pliki?