2013-09-10 46 views
1

我只需要在這裏使用腳本的一些幫助 - 我想在一個目錄下的每個不同的文本文件中保存每100個rand數字 - 所以每次我爲循環生成rand數字每100張隨機數,我想將它們保存在不同的文本文件,這是因此如何工作,但我不知道如何保存在不同的文本文件中每100蘭特數量,它不是劑量存在如何在不同的txt文件中使用php保存rand數字

<?php 

    function randz() 
    { 
     $file_path = $_SERVER['DOCUMENT_ROOT'] . "testing/files/"; 
     $content = NULL; 
     $start = 1111111; 
     $ofset = 9999999; 
     $counter = 1; 

     for($i=1; $i <= 500; $i++) 
     { 
      if($i == 100) 
      { 
       $rand = mt_rand($start, $ofset) * 999999; 
       $cut = substr($rand, 0,7); 
       $content .= $i .'-'. $cut."\r\n"; 
       $file_path = $_SERVER['DOCUMENT_ROOT'] . "testing/files/"."text_".$counter++."_".$counter++.".txt"; 
       continue; 
      } 
     } 

     $fp = fopen($file_path , "wb"); 
     fwrite($fp,$content); 
     fclose($fp); 

    } 

    randz(); 

?> 
+0

但你爲什麼需要這個? :D – vikingmaster

+0

honstly,我的一個朋友 - 要求做這份工作。我問他同樣的問題 - 但他沒有給我答案,因爲他的兄弟讓他做這項工作......我們問他的兄弟 - 他說他的這個劇本的目的是什麼?經理讓他做這個劇本。大聲笑大聲笑lol –

回答

0

我會先發表評論,您的代碼一點,如果可以的話:

<?php 

    function randz() 
    { 
     $file_path = $_SERVER['DOCUMENT_ROOT'] . "testing/files/"; 
     $content = NULL; // You are appending strings, 
         // so in order to avoid a type cast, you'd prefer: 
     $content = ""; 
     $start = 1111111; 
     $ofset = 9999999; 
     $counter = 1; 

     for($i=1; $i <= 500; $i++) 
     { 
      // Why a loop and then an if with == ? 
      // Maybe you wanted to use if(($i % 100) == 0) ? 
      if($i == 100) 
      { 
       $rand = mt_rand($start, $ofset) * 999999; 
       $cut = substr($rand, 0,7); 
       $content .= $i .'-'. $cut."\r\n"; 
       $file_path = $_SERVER['DOCUMENT_ROOT'] . "testing/files/"."text_".$counter++."_".$counter++.".txt"; 
       // Never pre/post increment twice the same 
       // variable in the same line. 
       // Does that increment counter in 1, or two? 
       continue; 
      } 
     } 

     $fp = fopen($file_path , "wb"); 
     fwrite($fp,$content); 
     fclose($fp); 

    } 

    randz(); 

?> 

爲什麼不乾脆,

<?php 

    function randz($file_number) 
    { 
     $file_path = $_SERVER['DOCUMENT_ROOT'] . "testing/files/"; 
     $content = array(); 
     $start = 1111111; 
     $ofset = 9999999; 
     $counter = 1; 

     for($i = 0; i < 100; i++) 
     { 
      $rand = mt_rand($start, $ofset) * 999999; 
      $cut = substr($rand, 0, 7); 
      $content[] = $i . "-" . $cut; 
     } 

     $str_content = implode("\r\n", $content); 
     file_put_contents($file_path ."text_" . $filenumber . ".txt", $str_content); 
    } 

    for($i = 0; $i < 500; $i++) 
    { 
     randz($i); 
    } 

?> 
+0

感謝兄弟,我真的很感激 –

0

我質疑您現有的許多代碼。因此,我要回答這樣的問題:

如何在不同的txt文件保存蘭特數字與PHP

看看file_put_contents()

一個簡單的例子:

for ($i = 0; $i < 100; ++$i) { 
    file_put_contents("{$i}.txt", rand()); 
} 
+1

感謝兄弟,我會那樣做 –

0

嘗試:

function randz($fileCount){ 
    $file_path = $_SERVER['DOCUMENT_ROOT'].'testing/files/text_'; 
    $content =''; 
    for($i=1,$l=$fileCount+1; $i<$l; $i++){ 
    for($n=1; $n<101; $n++){ 
     $rand = (string)(mt_rand(1111111, 9999999) * 999999); 
     $cut = substr($rand, 0,7); 
     $content .= $n.'-'.$cut."\r\n"; 
    } 
    file_put_contents($file_path.$i.'.txt', $content); 
    } 
} 
// create 10 files width 100 random content lines 
randz(10); 
+0

讓簡單 - 我從100開始計數我想保存每個10個數字在一個不同的txt文件直到100完成 –

+0

謝謝兄弟,我真的很感謝你的幫助.. ..再次感謝你 –

相關問題