0


こんにちは、foreach を削除してアップロード用の 1 つのファイルを作成した場合、アップロードの進行状況バーを含む 1 つのアップロード ファイル ソース コードをコピーし
ましたが、フォームに 5 つのファイル フィールドが必要です
。これが私のコードです。

$upload_directory = "$fUllp/";
//5M
$allowsize = 5242880;
foreach($_FILES as $file) {
$n = $file['name'];
$s = $file['size'];
$t = $file['type'];
$tmp = $file['tmp_name'];
if (is_array($n)) {
  $c = count($n);
  for ($i=0; $i < $c; $i++) {
    if($s <= $allowsize){
    $filename = explode('.',$n);
    $filetype = $filename[1];

    if(!isset($filename[2])){
        $glast = mysql_query("select id from up_guest order by id desc limit 1");
        $flast = mysql_fetch_array($glast);
        if($flast['id'] == '' or $flast['id'] <= 0){
            $flast = 1;
        }
        else{
            $flast = $flast['id'] + 1;
        }
        $time = time();
        $filename = $flast.'.'.$filename[1];

        if(in_array($t,$allow)){

            if (move_uploaded_file($tmp, $upload_directory . $filename)) {
                //insert db
                //img full
                $fullurl = $siteurl.'/'.$upload_directory.$filename;
                //for sql
                $fullurlsq = '/'.$upload_directory.$filename;
                $fullurlsqt = '/'.$upload_directory.'t/'.$filename;
                //img resize
                $image = new SimpleImage();
                $image->load($upload_directory.'/'.$filename);
                $image->resizeToHeight(100);
                $image->resizeToWidth(100);
                $image->save($upload_directory.'/t/'.$filename);
                //img koochik
                $imgt = $upload_directory.'/t/'.$filename;
                mysql_query("insert into up_guest(name,name_t,type,time,ip) values('$fullurlsq','$fullurlsqt','$filetype',$time,'$ip')");
                print '<br><div class="system-message"><ul class="index_info"><li>توضیح: <span>فایل با موفقیت آپلود شد<bR /><div class="thumb_img">';
                print "<a href=\"$fullurl\" onclick=\"window.open(this.href,\"_blank\");return false;\"><img src=\"$imgt\"></a></div>";
                //tbl1
                print '<table border="0" width="100%" cellspacing="0" cellpadding="0" class="up_box_input"><tbody><tr><td class="btitle">لینک تصویر کوچک</td><td class="all_box_link"><textarea readonly="readonly" rows="2" cols="40" class="up_input" tabindex="1" onclick="this.select();">';
                print "[url=$siteurl/][img]$imgt [/img][/url]</textarea></td></tr></tbody></table>";
                //tbl2
                print 'echo file detaid for user';

            }//file upload she
            else{
                echo '<div class="site_error_msg">cant up</div>';
            }
        }//age allow bood un file
        else{
            echo '<div class="site_error_msg">extention not allowed</div>';
        }
    }//if noghte vasatesh nabood
    else{
        echo '<div class="site_error_msg">you not must have . in file name</div>';
    }
}//if sizesh mojaz bood
else{
    echo '<div class="site_error_msg">uploaded file is more than 5 MB</div>';
}//end my code

しかし、最初のIFでelseを実行し
ます

if(in_array($t,$allow)){

そして、これを実行します

else{
    echo '<div class="site_error_msg">uploaded file is more than 5 MB</div>';
}//end my code

したがって、これらの行に何か問題があり、設定されたファイル名のサイズが間違っている必要があります

foreach($_FILES as $file) {
$n = $file['name'];
$s = $file['size'];
$t = $file['type'];
$tmp = $file['tmp_name'];
if (is_array($n)) {
  $c = count($n);
  for ($i=0; $i < $c; $i++) {
4

1 に答える 1

0

わかりました私の初心者の問題を見つけてください!このように For の下にファイルサイズと名前を挿入する必要があります

foreach($_FILES as $file) {
$n = $file['name'];
$s = $file['size'];
$t = $file['type'];
$tmp = $file['tmp_name'];
if (is_array($n)) {
  $c = count($n);
  for ($i=0; $i < $c; $i++) {
      $ss = $s[$i];
      $tmpp = $tmp[$i];
      $nn = $n[$i];
      $tt = $t[$i];
    if($ss <= $allowsize){
    $filename = explode('.',$nn);
    $filetype = $filename[1];

    if(!isset($filename[2])){
        $glast = mysql_query("select id from up_guest order by id desc limit 1");
        $flast = mysql_fetch_array($glast);
        if($flast['id'] == '' or $flast['id'] <= 0){
            $flast = 1;
        }
        else{
            $flast = $flast['id'] + 1;
        }
        $time = time();
        $filename = $flast.'.'.$filename[1];

        if(in_array($tt,$allow)){

みんなありがとう:D

于 2013-01-25T21:01:02.333 に答える