2009-09-04 131 views

回答

4

不知道我理解你,但我会尽力回答。

http://www.w3schools.com/PHP/php_file_upload.asp

你能在这里学到的是,每个文件上传到PHP的临时目录。然后由脚本将该文件移动/复制到某个永久性的Web可访问目录,因为在脚本执行完毕后,上传到php临时目录的文件将被删除。

+0

您理解正确 - 我只使用该文件读取其中的数据,并且如果不需要,我不想将文件存储在文件系统上。 – jimyi 2009-09-04 20:16:57

+0

那么我不认为你必须除了上传文件和exectute脚本旁边的其他任何东西。执行后 - 文件被删除。 :) – Gavrisimo 2009-09-04 20:18:37

0

在Linux上,您可以在内存中创建文件系统分区。如果你可以确保上传的文件被写入到内存中的分区,那么它将被存储在内存中,但是就像存储在文件系统中一样,使Apache/PHP5和你都感到高兴。

问题是,任何解决方案将文件写入内存而不是文件系统需要严格限制文件的大小和数量。通过避免写入磁盘,您将看到速度提升,但如果您使用足够的内存将其他数据推入页面文件或交换,您的“优化”将很快产生反作用。

0

您可以:

<?php 
if (!empty($_FILES)) 
{ 
    echo "<pre>"; 
    print_r($_FILES); 
    echo file_get_contents($_FILES['file']['tmp_name']); 
    echo "</pre>"; 
} 
?> 
<form id="myForm" method="post" enctype="multipart/form-data"> 
    <input type="file" name="file" /> 
    <input type="submit" value="Send" /> 
</form> 

输出:

Array 
(
    [file] => Array 
     (
      [name] => mytextfile.txt 
      [type] => text/plain 
      [tmp_name] => D:\PHP\wamp\tmp\php1283.tmp 
      [error] => 0 
      [size] => 1473 
     ) 

) 
My text file My text file My text file My text file My text file My text file 
My text file My text file My text file My text file 
My text file My text file My text file My text file My text file My text file 
My text file My text file My text file 
My text file My text file My text file My text file My text file 

,如果它是由一些php.ini中变量的限制,我不知道。

+1

从文件系统读取文件 - 显然这并不能解决他的问题。 – Craig 2009-09-04 20:34:49

+0

我知道如何读取文件 - 我的问题是关于读取文件而不写入文件系统。随着你发布的内容,上传的文件被写入D:\ PHP \ wamp \ tmp \ – jimyi 2009-09-04 20:35:09

+0

我的错误是这样的,但你的问题并不十分清楚。 – inakiabt 2009-09-05 01:55:16