Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过PHP将文件上载到服务器_Php_File_Ftp_Icalendar - Fatal编程技术网

通过PHP将文件上载到服务器

通过PHP将文件上载到服务器,php,file,ftp,icalendar,Php,File,Ftp,Icalendar,我在我的网站上的PHP脚本上创建了一个.ics文件,现在我正在本地将该文件保存在我的计算机中,但我想将其上载到我的iCal Exchange帐户,以便从那里共享它 我可以通过iCal(应用程序)上传,但我需要通过PHP。在iCalExchange中,我有一个用户名和密码,说明上写着: 要从iCal发布新日历,请选择“在Web上发布” “服务器”选项,并使用以下URL之一: 请确保正确输入新用户名和密码 我在PHP中尝试了这一点,但没有成功: $ftp_server='74.91.122.15

我在我的网站上的PHP脚本上创建了一个.ics文件,现在我正在本地将该文件保存在我的计算机中,但我想将其上载到我的iCal Exchange帐户,以便从那里共享它

我可以通过iCal(应用程序)上传,但我需要通过PHP。在iCalExchange中,我有一个用户名和密码,说明上写着:

要从iCal发布新日历,请选择“在Web上发布” “服务器”选项,并使用以下URL之一:

请确保正确输入新用户名和密码

我在PHP中尝试了这一点,但没有成功:

$ftp_server='74.91.122.152';//serverip
    $conn_id = ftp_connect($ftp_server); 


    // login with username and password
    $user="zeroan";
    $passwd="****";
    $login_result = ftp_login($conn_id, $user, $passwd); 

// check connection
   if ((!$conn_id) || (!$login_result)) { 
        echo "FTP connection has failed!";
        echo "Attempted to connect to $ftp_server for user $ftp_user_name"; 
        die; 
    } else {
        echo "<br>Connected to $ftp_server, for user $user<br>";
    }
//directorylike /www.velibaba.com/images
  ftp_chdir($conn_id, "http://icalx.com/public/zeroan/");


//$destination_file=ftp_pwd($conn_id);


$source_file='cale.ics';
$destination_file="calendario.ics";
echo ("<br>");
print $destination_file;

echo ("<br>");

// upload the file
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY); 

// check upload status
if (!$upload) { 
        echo "FTP upload has failed!";
    } else {
        echo "Uploaded $source_file to $ftp_server as $destination_file";
    }

// close the FTP stream 
ftp_close($conn_id); 
$ftp_server='74.91.122.152'//服务器IP
$conn\u id=ftp\u connect($ftp\u server);
//使用用户名和密码登录
$user=“zeroan”;
$passwd=“****”;
$login\u result=ftp\u login($conn\u id,$user,$passwd);
//检查连接
如果(!$conn_id)| |(!$login_result)){
echo“FTP连接失败!”;
echo“试图为用户$ftp\u用户名连接到$ftp\u服务器”;
死亡
}否则{
echo“
连接到$ftp_服务器,用于用户$user
”; } //directorylike/www.velibaba.com/images ftp\u chdir($conn\u id,“http://icalx.com/public/zeroan/"); //$destination\u file=ftp\u pwd($conn\u id); $source_file='cale.ics'; $destination\u file=“calendario.ics”; 回声(
); 打印$destination\u文件; 回声(
); //上传文件 $upload=ftp\u put($conn\u id、$destination\u file、$source\u file、ftp\u二进制文件); //检查上传状态 如果(!$upload){ echo“FTP上传失败!”; }否则{ echo“将$source_文件作为$destination_文件上载到$ftp_服务器”; } //关闭FTP流 ftp_关闭($conn_id);
谢谢

完整的工作示例: My/var/www/stackoverflow/curluploader.php文件

<?php 
$url = "http://localhost/stackoverflow/processupload.php";
$post_data['name'] = "Foo";
$post_data['file'] = '@'.__DIR__ . '/file.txt';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
$response = curl_exec($ch);

echo $response;

排除ProcessUpload身份验证,但发送用户和密码的方式与发布字段“name”的方式相同,在ProcessUpload上进行一点身份验证以确保安全。确保apache用户对远程文件夹具有写入权限。

你说的“不走运”是什么意思?是否有错误消息?错误是:
警告:ftp_login()希望参数1是第10行的/Applications/XAMPP/xamppfiles/htdocs/pruebasmarty/Untitled.php中给定的资源布尔值ftp连接失败@lincbour ftp\u connect()函数不起作用。那个IP有FTP服务器吗?它工作了,但是当我在本地主机上使用它时,当我试图上传到ical.com时,它什么也不做=(我不知道是不是因为我的用户名和密码有误,请参阅上面答案底部的我的建议。哦,谢谢,但我上传到的服务器不是我的。所以我不能这样做。无论如何,谢谢你!@alvk4r
<?php
echo "<pre>";
print_r($_POST);
print_r($_FILES);
Array
(
    [name] => Foo
)
Array
(
    [file] => Array
        (
            [name] => file.txt
            [type] => application/octet-stream
            [tmp_name] => /tmp/phpEBgYXy
            [error] => 0
            [size] => 30
        )

)