我有一个页面,我的网站用户可以更改他们为自己的帐户输入的信息(例如真实姓名,电子邮件和头像)。我想做的是让他们改变他们的化身。这一切都很好,除了最后一部分:上传文件。首先我找到了该文件,然后调整了大小,现在我试着通过PHP中的"ftp_put"
方法将其上传到我的服务器。
我正在使用的脚本(来自我网站的根目录)文件夹"/scripts/newavatar.php"
。我要上传的文件夹是"/avatars/"
。我的问题是FTP无法识别我已输入"public_html/avatars"
或"../avatars/"
,或者它不应该输入。我不知道如何更好地解释它。有人可以帮助我吗?
答案 0 :(得分:0)
您应该使用完整的FTP路径到“avatars”文件夹。 如果它位于FTP根目录中,请尝试:
ftp_put($conn_id, "/avatars/" . $file_name, $local_file_name, FTP_BINARY);
答案 1 :(得分:0)
图像文件已在服务器上,因此您无需使用FTP方法。
这是你如何做的
imagecreatefrompng()
路径$_FILES['field_name']['tmp_name']
或类似文件中
imagepng($imageResource, '/path/to/avatars/image-file-name.png')
我猜你在理解服务器端路径时遇到了一些麻烦。保存最终图像时,最简单的方法是使用相对于scripts/newavatar.php
文件的路径。为此,请使用特殊的__FILE__
常量,例如
// save final image
imagepng($imageResource, dirname(dirname(__FILE__)) . '/avatars/' . $imageFilename);
答案 2 :(得分:0)
您应注意 remote_file 和 local_file 之间的区别。 local_file 可以是任何相对路径和目录,但是 remote_file 是远程服务器中的文件名,最好不要使用相对路径,而只使用文件名。 例如:
<file tee >(md5sum > file.md5) | grep "ABC" > file.filt
<file pee 'md5sum > file.md5' 'grep "ABC" > file.filt'
对我有用。