sytuacja
strona page_upload.php
<?php
if(authorization()){
$title=clean_data($_POST[\"title\"]);
$comment=clean_data($_POST[\"comment\"]);
if($_POST[\"what\"]=='send'){
if($title){
$result_tex=upload_file(\"filetex\");
if($result_tex==true){
$result_pdf=upload_file(\"filepdf\");
$result_ps=upload_file(\"fileps\");
if($result_pdf==true||$result_ps==true){
}
$error=$result_pdf.$result_ps;
}
else
$error=$result_tex;
}
else
$error=\"Please fulfill required fields.\";
}
add_article_form($title,$comment);
}
else
redirection(\"index.php\");
?>
funkcja upload_file()
<?php
function upload_file($data){
if(!is_uploaded_file($_FILES[$data]['tmp_name'])) return \"Problem with upload file: \"; if($_FILES[$data]['error'] != 0) return \"Oversize of file: \";
//Sprawdzamy MIME TYPE pliku
switch($data){
case \"filetex\": $condition=\"application/octet-stream\";break;
case \"filepdf\": $condition=\"application/pdf\";break;
case \"fileps\": $condition=\"application/postscript\";break;
}
if($_FILES[$data]['type'] == $condition{
//Dotarliśmy tutaj to wszystko jest OK = UPLOAD
if(move_uploaded_file($_FILES[$data]['tmp_name'], \"../../upload/\".$_FILES[$data]['name'])){ return true;
}
else
return \"Unexpected error has taken a stand during upload\";
}
else
return \"You can upload only tex, pdf, ps.\";
}
?>
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?
Ten post edytował ernik 10.05.2005, 10:31:05