2015-11-25 102 views
-1

我正在测试代码,我得到的其中一个问题是rand()正在生成2个不同的结果。它用一个名字上传图片,但它的其他随机名称。我尝试过所有可能的场景,但无法完成它。PHP函数RAND和一个变量

我想要得到的实际图片名称和echo一个是相同的。

我知道这些代码是完全与其他错误:)

<div class="modal fade" id="PicsUp" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> 
    <div class="modal-dialog" role="document"> <?php 
    // $new_name = sha1(mt_rand()).'.jpg'; 
    $gosho = rand(1,9999999999).'.jpg'; 
    $kakaka = $gosho; 

    if(isset($_POST['send_photo'])) { 
     if($_FILES['pictureUpload_1']['name']) { 
      $extension = strtolower(end(explode('.', $_FILES['pictureUpload_1']['name']))); 
      if($extension == 'jpg' || $extension == 'jpeg') { 
       if(!$_FILES['pictureUpload_1']['error']) { 
       // $new_file_name = $new_name; 
        if($_FILES['pictureUpload_1']['size'] > (1024000)) { 
         $valid_file = false; 
         $error = 'Oops! Your profile picture\'s size is to large.'; 
        } 
        $valid_file = true; 
        if($valid_file) { 
         move_uploaded_file($_FILES['pictureUpload_1']['tmp_name'], 'uploads/chat/'.$gosho); 
        // $db->query("INSERT INTO media_chat (id,user_id,path,time) VALUES ('','".$user_id."','".$new_file_name."','".time()."')"); 
        } 
       } else { 
        $error = 'Error occured: '.$_FILES['pictureUpload_1']['error']; 
       } 
      } 
     } 
    } 
    $picac = 'https://somedomain.com/uploads/chat/'.$kakaka; 
    ?> 
    <form target="iframe" method="post" enctype="multipart/form-data"> 
     <div class="modal-content"> 
      <div class="modal-header"> 
       <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> 
       <h4 class="modal-title" id="myModalLabel"><?php echo $lang['Emoticons']?></h4> 
      </div> 
      <div class="modal-body"> 
       <label for="pictureUpload_1">Добави снимка в чата</label> 
       <input type="file" name="pictureUpload_1" data-classbutton="btn btn-default" data-classinput="form-control inline" class="form-control filestyle"> 
      </div> 
      <div class="modal-footer"> 
       <button type="button" class="btn btn-default" data-dismiss="modal"><?php echo $lang['Close']?></button> 
       <?php ?> 
       <button type="submit" name="send_photo" class="btn btn-danger" onclick="appendToMessage('<?php echo $picac; ?>')"><?php echo $lang['Upload']?>  </button> 
       <iframe name="iframe" id="iframe" style="display:none" ></iframe> 
      </div> 
     </div> 
    </form> 
    </div> 
</div> 

回答

0

的问题是,你使用$御所变量作为您的文件名。

$gosho = rand(1, 9999999999) . '.jpg'; 


if ($valid_file) { 
    move_uploaded_file($_FILES['pictureUpload_1']['tmp_name'], 'uploads/chat/' .$gosho); // $gosho is a random number with an extension added 

    // $db->query("INSERT INTO media_chat (id,user_id,path,time) VALUES ('','".$user_id."','".$new_file_name."','".time()."')"); 
} 

如果你改变这

move_uploaded_file($_FILES['pictureUpload_1']['tmp_name'], 'uploads/chat/' . $_FILES['pictureUpload_1']['name']); 

它应该工作

+0

是的,你是对的,用它来生成被beeing上传的图片随机的名字IM ...因此,如果两个ppl上传图像这就是所谓的“image.jpg”都将被保存在我的服务器:) – rnbmafia

+0

然后,你应该给$ kakaka正确的价值。它也获得$ gosho变量,而不是$ _FILES ['pictureUpload_1'] ['name']变量。这就是你在模态中回应的内容。 – sillysicko