我真的无法想出这个,只是得到一个基本的上传脚本,但文件不会上传。
Form
=> enctype is set
print_r($_FILES['Product_Thumb'])
=> [Product_Thumb]
=> Array (
[name] => prototype.js
[type] => application/x-javascript
[tmp_name] => /tmp/phpXzL6CT
[error] => 0
[size] => 139854 ))
我确实在上传文件夹中将权限(-R)设置为777。
将所有者:组更改为www-data:www-data。
Mkdir在我用于上传文件的确切路径上工作。
尝试了不同的文件,尝试了另一个文件夹,硬编码了目标文件路径,仍然无法正常工作。
我在/ var / tmp /中看到了这个文件,但是移动只是没有用,没有任何错误。
我真的忽略了什么吗?
提前Thanx!
=============================================== ======================== 调试输出:
Debug:tmp file:/ tmp / phpgYOo9a
调试:目标目录:/ var / www / clubgevoel / public / img / producten /
调试:真实目标:/ var / www / clubgevoel / public / img / producten
调试:源可读:
调试:target is_dir:yes
调试:目标可写:是
调试:move:bool(false)
答案 0 :(得分:0)
服务器上的完整文件配额?
答案 1 :(得分:0)
move_uploaded_file如果失败则应发出警告(即返回false)。确保使用display_errors测试上传脚本,并在error_reporting to ALL上测试,如下所示:
ini_set('display_errors',1);
error_reporting(-1); //或error_reporting(E_ALL); (http://de2.php.net/manual/en/function.error-reporting.php)
这些行应放在脚本中的任何其他行之前。这样你至少可以发现错误的原因
答案 2 :(得分:0)
我猜你正在使用绝对路径作为目的地。尝试相对的路径
答案 3 :(得分:0)
让我们添加更多调试输出....什么是
// "also tried: move_uploaded_file($_FILES['Product_Thumb']['tmp_name'], $_SERVER['DOCUMENT_ROOT'] . '/clubgevoel/public/img/producten/2.jpg');"
error_reporting(E_ALL); ini_set('display_errors', 1);
$targetDir = $_SERVER['DOCUMENT_ROOT'] . '/clubgevoel/public/img/producten/';
$realTargetDir = realpath($targetDir);
ini_set('display_errors', 1);
echo '<pre>Debug: tmp file:', htmlspecialchars($_FILES['Product_Thumb']['tmp_name']), "</pre>\n";
echo '<pre>Debug: target directory: ', htmlspecialchars($targetDir), "</pre>\n";
echo '<pre>Debug: real target: ', htmlspecialchars($realTargetDir), "</pre>\n";
echo '<pre>Debug: source readable: ', is_readable($_FILES['Product_Thumb']['tmp_name']), "</pre>\n";
echo '<pre>Debug: target is_dir: ', is_dir($targetDir) ? 'yes':'no', "</pre>\n";
echo '<pre>Debug: target writable: ', is_writeable($targetDir) ? 'yes':'no', "</pre>\n";
$b = move_uploaded_file($_FILES['Product_Thumb']['tmp_name'], $targetDir. '2.jpg');
echo '<pre>Debug: move: '; var_dump($b); echo "</pre>\n";
打印?
答案 4 :(得分:-1)
Debug:tmp file:/ tmp / phpgYOo9a
调试:目标目录:/ var / www / clubgevoel / public / img / producten /
调试:真实目标:/ var / www / clubgevoel / public / img / producten
调试:源可读:
调试:target is_dir:yes
调试:目标可写:是
调试:move:bool(false)