2010-08-31 17 views

उत्तर

7

आप fopen का उपयोग कर सकते हैं और fseek

define('SIZE',100); // size of the file to be created. 
$fp = fopen('somefile.txt', 'w'); // open in write mode. 
fseek($fp, SIZE-1,SEEK_CUR); // seek to SIZE-1 
fwrite($fp,'a'); // write a dummy char at SIZE position 
fclose($fp); // close the file. 

निष्पादन पर:

$ php a.php 

$ wc somefile.txt 
    0 1 100 somefile.txt 
$ 
+0

'fseek()' फ़ाइल आकार में परिवर्तन नहीं करता। – jmz

+1

अब जब आपने 'fwrite() 'करने के लिए कोड संपादित किया है, तो यह काम करता है, लेकिन आपके मूल उत्तर में केवल' fseek()' का उल्लेख किया गया है। भविष्य में, आपको पूर्ण संस्करण देना चाहिए, जैसे संपादित संस्करण, या अधिक विस्तार से समझाएं। सवाल पूछने वाले व्यक्ति को यह नहीं पता कि यह कैसे करना है, यही कारण है कि वह पूछ रहा है। – jmz

+0

यह विफल रहता है जब मैं एक जीत 2003 सर्वर सिस्टम पर 1 जीबी से अधिक फ़ाइल बनाने की कोशिश करता हूं (मेरे पास सभी अधिकार हैं, और यह एनटीएफएस है) – Mike

1

तो फ़ाइल की सामग्री अप्रासंगिक है तो बस पैड यह है - लेकिन कर सकता हूँ सुनिश्चित करें कि आप मेमोरी में पकड़ने के लिए एक चर उत्पन्न नहीं करते हैं:

<?php 
$fh = fopen("somefile", 'w'); 
$size = 1024 * 1024 * 10; // 10mb 
$chunk = 1024; 
while ($size > 0) { 
    fputs($fh, str_pad('', min($chunk,$size))); 
    $size -= $chunk; 
} 
fclose($fh); 

अगर फ़ाइल को किसी अन्य चीज़ द्वारा पठनीय किया जाना है - तो आप इसे कैसे करते हैं, इसे दूसरी चीज़ पर निर्भर करता है जिसे इसे पढ़ने की आवश्यकता होती है।

सी

0

तल

पर अपने कोड देखो ^^ सबसे अच्छा सुविधा के लिए एक 4GB फ़ाइल ^^

FUNCTION CreatFileDummy($file_name,$size) { 
// 32bits 4 294 967 296 bytes MAX Size 
    $f = fopen($file_name, 'wb'); 
    if($size >= 1000000000) { 
     $z = ($size/1000000000);  
     if (is_float($z)) { 
      $z = round($z,0); 
      fseek($f, ($size - ($z * 1000000000) -1), SEEK_END); 
      fwrite($f, "\0"); 
     }  
     while(--$z > -1) { 
      fseek($f, 999999999, SEEK_END); 
      fwrite($f, "\0"); 
     } 
    } 
    else { 
     fseek($f, $size - 1, SEEK_END); 
     fwrite($f, "\0"); 
    } 
    fclose($f); 

Return true; 
} 

परीक्षण यह Php 32 बिट में मैक्स ^^ पैदा करने के लिए 0 के साथ यहाँ है 4 2 9 4 9 7 9 2 9 6:

CreatFileDummy ('mydummyfile.iso', 4294967296);

आप लिखें चाहते हैं, पढ़ें और बनाएं फ़ाइल डमी मेरी कोड है यहाँ ^^:

https://github.com/Darksynx/php

Algorithm to Generate a LARGE Dummy File

संबंधित मुद्दे