我在上传文件时遇到错误
我创建了上传文件的功能。问题是我从不同的文件和不同的文件夹中调用它,这意味着我的图像文件夹的路径正在改变。 因为我正在使用完整的路径。
(我的文件夹名为 - " images / usersFiles")
Warning: move_uploaded_file(http://localhost/dogger/images/usersFiles/13981072220-1.jpg) [function.move-uploaded-file]: failed to open stream: HTTP wrapper does not support writeable connections in C:\Program Files (x86)\wamp\www\dogger\func\func.global.php on line 127
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\Program Files (x86)\wamp\tmp\php9D89.tmp' to 'http://localhost/dogger/images/usersFiles/13981072220-1.jpg' in C:\Program Files (x86)\wamp\www\dogger\func\func.global.php on line 127
我在本地计算机上运行代码:
if ($_SERVER['REMOTE_ADDR'] == "127.0.0.1")
$usersFiles = 'http://localhost/dogger/images/usersFiles/';
else
$usersFiles = '/home/israelig/public_html/sites/dogger/images/usersFiles/';
if (move_uploaded_file($files['file']['tmp_name'][$i], $usersFiles.$files['file']['name'][$i]))
答案 0 :(得分:0)
正如错误消息所示,move_uploaded_file
不支持写入HTTP。您必须使用本地文件路径,而不是URL。
答案 1 :(得分:0)
使用没有http的绝对路径,就像这样(我不使用Windows并且可能会出错):
C:\ Program Files(x86)\ wamp \ www \ dogger \ userFiles
您可以使用以下命令生成此路径:
realpath(dir(__FILE__) . '/../userFiles')
其中 FILE 包含当前脚本的路径
答案 2 :(得分:0)
试试这种方式,
if (move_uploaded_file($files['file']['tmp_name'], '/path/to/userFiles/'.$files['file']['name']))
{
echo "File uploaded.";
echo "<img src='/path/to/userFiles/{$files['file']['name']}' />";
}
修改强>
您的目录结构:
C:\Program Files (x86)\
|-----------------------wamp\
|--www\
|---dogger\ <-- Assuming here is your upload.php which will be uploading image.
|-----images\
|-----usersFiles\ <-- Image will be uploaded here.
<强>瓦帕\ WWW \多格\ upload.php的强>
<?php
if (move_uploaded_file($files['file']['tmp_name'], './images/usersFiles/'.$files['file']['name']))
{
echo "File uploaded.<br/>";
echo "<img src='./images/usersFiles/{$files['file']['name']}' />"; //displaying image using relative path.
//OR
echo "<img src='http://localhost/dogger/images/usersFiles/{$files['file']['name']}' />"; //displaying image using absolute path
}
?>