# ftp_alloc

(PHP 5, PHP 7)

ftp_alloc — 为要上传的文件分配空间

### 说明

ftp_alloc ( resource `$ftp_stream` , int `$filesize` [, string `&$result` ] ) : bool

向远程 FTP 服务器发送 ALLO 命令， 来为要上传的文件分配空间。

> Note:

> 很多 FTP 服务器不支持ALLO 命令。 如果服务器不支持此命令，将会返回错误码（`FALSE`）， 返回成功码（`TRUE`）表示预分配空间不是必需的， 客户端可以继续操作了。 因此，请仅对需要强制预分配空间服务器使用此函数。

### 参数

`ftp_stream`

  FTP 连接标示符。

`filesize`

  要分配的空间，以字节为单位。

`result`

  如果提供此参数，那么服务器的响应 会以文本方式设置到 `result` 中。

### 返回值

成功时返回 `TRUE`， 或者在失败时返回 `FALSE`。

### 范例

Example #1 ftp_alloc() 函数例程

    <?php

    $file = "/home/user/myfile";

    // 连接服务器
    $conn_id = ftp_connect('ftp.example.com');
    $login_result = ftp_login($conn_id, 'anonymous', 'user@example.com');

    if (ftp_alloc($conn_id, filesize($file), $result)) {
      echo "Space successfully allocated on server.  Sending $file.\n";
      ftp_put($conn_id, '/incomming/myfile', $file, FTP_BINARY);
    } else {
      echo "Unable to allocate space on server.  Server said: $result\n";
    }

    ftp_close($conn_id);

    ?>

### 参见

- ftp_put() - 上传文件到 FTP 服务器
- ftp_fput() - 上传一个已经打开的文件到 FTP 服务器