Hej wszystkim. Mam pytanie dotyczące uploadu plików na serwer. Napisałem malutki skrypt dla pewnej firmy wywołującej zdjecia. Klijent po zalogowaniu podaje liczbe zdjec do wywołania, pozniej pokazuje sie formularz z "przegladaniem" zdjec, wyborem formatu itd. Po wcisnieciu [Dodaj zdjecia] petla wrzuca pokoleji kazde zdjecie na serwer. I w czym jest problem? Hmm, chciałbym aby kazde zamowienie (nie kazdy plik) zostalo wysłane do bazy danych. Jak narazie to dziala to tak:
- upload pliku
- wyslanie info do bazy
- upload pliku
- wyslanie info do bazy
...
...
itd.
Troszke tego jest, a ja chcialbym zeby wszystki pliki byly wyslane razem jako jeden wpis. Oto załączam kod skryptu:
<?
if(!$session->logged_in){
?>
Strona wymaga logowania !!!
<?
}
else{
switch($a)
{
case 1:
<form name=register method=post action=index.php?page=zam&a=2>
<p align=center><b>Podaj ilość zdjęć do wywołania:</b>
<input type=text name=ilosc size=5></p>
<p align=center><input type=submit value=Dalej></p>
</form>
\");
break;
case 2:
$uploadNeed = $_POST['ilosc'];
<table border=0 cellpadding=1 width=70%>
<form name=form enctype=multipart/form-data method=post action=index.php?page=zam&a=3>
\");
for($x=0;$x<$uploadNeed;$x++){
<script language=JavaScript>
function WstawPodglad$x()
{
document.podglad$x.src='FILE:///'+document.form.upfile$x.value;
document.form.sciezka$x.value=document.form.upfile$x.value;
}
</script>
<tr>
<td width=34% valign=top>
<input onChange=javascript:WstawPodglad$x(); name=upfile$x type=file>
</td>
<input type=hidden value= name=sciezka$x>
<td width=13% valign=top>
<img name=podglad$x src=images/nic.gif width=100 height=80 align=top>
</td>
</tr>
\");
}
echo(\"
<tr>
<td width=100% colspan=6>
<input name=uploadNeed type=hidden value=$uploadNeed>
<center><br><br><input class=button type=submit name=Submit value=Dodaj zdjęcia></center>
<td>
</tr>
</form>
</table>\");
break;
case 3:
$store_dir = \"zamowienia/\";
$num_files = $uploadNeed;
if( !is_dir($store_dir) )
{
echo(\"Specified directory is not valid... Exiting\");
for( $x=0; $x < count($HTTP_POST_FILES['upfile'. $x]['name']); $x++ )
{
@unlink($HTTP_POST_FILES['upfile'. $x]['tmp_name']);
}
exit();
}
for( $x=0; $x < $num_files; $x++ )
{
if( @copy( $HTTP_POST_FILES['upfile'. $x]['tmp_name'],
$store_dir.$HTTP_POST_FILES['upfile'. $x]['name'] ) )
{
$file_name = $_FILES['upfile'. $x]['name'];
$file_name = stripslashes($file_name);
$file_name = str_replace(\"'\",\"\",$file_name);
$oldumask = umask(0);
chmod(\"zamowienie.txt\", 0644);
umask($oldumask);
$string = \"$x;$file_name;\";
$pliczek=fopen(\"zamowienie.txt\", \"a\");
$string = ereg_replace(\"(r)|(n)\",\"\",$string);
fputs ($pliczek,\"rn$string\",(strlen($string)+2));
fclose($pliczek);
}
else
{
echo(\"Upload of \".$HTTP_POST_FILES['upfile'. $x]['name'].\" to \".$store_dir.\" failed!!!!<BR>\");
}
@unlink($HTTP_POST_FILES['upfile'. $x]['tmp_name']);
}
break;
}
}
?>
Dziekuje za kazda pomoc.
Ten post edytował seaquest 26.12.2004, 20:26:55