【发布时间】:2015-09-04 03:29:21
【问题描述】:
美好的一天,我一直在学习教程,并且非常努力地使这个脚本工作,我已经设法解决了很多问题,但是我遇到的一个持续的问题是:
No such file or directory in /home/xxxxxxx/public_html/regForm.php on line 93
我想要完成的是让用户在注册时将个人资料图片上传到我的实时服务器/网站,这是我的表单的一部分和下面的代码:
如果有经验的用户可以对其进行扫描并告知我哪里出错了,我将不胜感激,谢谢
HTML 表单
<form ENCTYPE="multipart/form-data" name="registration-form" id="regForm" method="post" action="regForm.php">
:
:
Upload Picture: <INPUT NAME="file_up" TYPE="file">
<input type="submit" value="Register" name="register" class="buttono" />
</form>
上传脚本
$file_upload="true";
$file_up_size=$_FILES['file_up']['size'];
echo $_FILES['file_up']['name'];
if ($_FILES['file_up']['size']>250000){
$msg=$msg."Your uploaded file size is more than 250KB
so please reduce the file size and then upload.<BR>";
$file_upload="false";
}
if (!($_FILES['file_up']['type'] =="image/jpeg" OR $_FILES['file_up']['type'] =="image/gif"))
{
$msg=$msg."Your uploaded file must be of JPG or GIF. Other file types are not allowed<BR>";
$file_upload="false";
}
$file_name=$_FILES['file_up']['name'];
if($file_upload=="true"){
$ftp_server = "xxxxxx";
$ftp_conn = ftp_connect($ftp_server) or die("Could not connect to $ftp_server");
$ftp_username='xxxxxx';
$ftp_userpass='xxxxxx';
$login = ftp_login($ftp_conn, $ftp_username, $ftp_userpass);
$file = $file_name;
// upload file
if (ftp_put($ftp_conn, "public_html/img/userPics", $file, FTP_ASCII)) //here is the problem with the path I suspect
{
echo "Successfully uploaded $file.";
}
else
{
echo "Error uploading $file.";
}
// close connection
ftp_close($ftp_conn);
}
【问题讨论】:
-
是的。使用二进制方法
FTP_BINARYphp.net/manual/en/function.ftp-put.php 并确保路径正确并且文件夹具有正确的写入权限。也使用错误报告。 -
你甚至可能不得不使用完整的系统路径
/home/xxxxxxx/public_html/userPics/你确实忘记了一个斜线虽然在public_html/img/userPics这应该是public_html/img/userPics/否则它将寻找一个名为userPicsIMAGE.JPG的文件夹而不是比userPics/IMAGE.JPG -
我很确定我上面的 cmets 会解决这个问题。
-
@Fred-ii- 谢谢你的评论我不明白的是我应该创建路径
www.mywebsite.com/public_html/img/user_pics还是应该使用上面脚本中使用的路径,非常愚蠢的问题,但我该怎么做知道我是否使用正确的路径? -
不客气。我对我的第二条评论进行了编辑。 我应该将路径设为 www.mywebsite.com/public_html/img/user_pics - 不。查看我编辑的评论。