Ik werk aan een klein maar simpel upload script. het ziet er zo uit:
Alleen nu krijg ik de hele tijd de melding
ini_config bevat het volgende:
(upload heeft chmod 777)
Nu heb ik het idee dat dit komt doordat SAFE MODE aanstaat op mijn test host. Maar het lijkt mij niet onwaarschijnlijk dat dit script (wat vaker gebruikt gaat worden) ook op een SAFE MODE host neerkomt. Dus is er een manier om, om safe mode heen te werken en toch te kunnen uploaden met SAFE MODE aan?
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
| require_once('ini_config.php'); function uploadfile($file, $name='', $path='', $maxsize='', $extensions='', $mimetypes='') { global $upload_defaultpath, $upload_defaultmaxsize, $upload_defaultextensions, $upload_defaultmimetypes; if($name=='') $name=$_FILES[$file]['name']; if($path=='') $path=$upload_defaultpath; if($maxsize=='') $maxsize=$upload_defaultmaxsize; if($extensions=='') $extensions=$upload_defaultextensions; if($mimetypes=='') $mimetypes=$upload_defaultmimetypes; if(!is_array($extensions)) $extensions=array($extensions); if(!is_array($mimetypes)) $mimetypes=array($mimetypes); if(is_uploaded_file($_FILES[$file]['tmp_name'])) { $pathinfo=pathinfo($_FILES[$file]['name']); $fileext=strtoupper($pathinfo['extension']); $filesize=$_FILES[$file]['size']; if(in_array($fileext, $extensions) AND in_array($_FILES[$file]['type'], $mimetypes) AND $filesize<$maxsize) { $target="$path/$name"; if(move_uploaded_file($_FILES[$file]['tmp_name'], $target)) return $target; else return false; } else return false; } else return false; } |
Alleen nu krijg ik de hele tijd de melding
De functie wordt aangeroepen door het volgende:Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to access http://cybercat.thomasberends.nl/user_files/uploads/Green Apple.gif in /home/s08043/domains/thomasberends.nl/public_html/cybercat/func_uploadfile.php on line 37
code:
1
2
3
4
5
6
7
8
| <?php require_once('func_uploadfile.php'); $upload=uploadfile('file'); var_dump($upload); ?> <form method="POST" enctype="multipart/form-data" action="?page=portfolio"> <input type="file" name="file" /> <input type="submit" /> </form> |
ini_config bevat het volgende:
PHP:
1
2
3
4
5
6
| //Upload configuration $upload_defaultpath="$site_root/user_files/uploads"; //$upload_defaultmaxsize=2097152; $upload_defaultmaxsize=500000; $upload_defaultextensions=array('GIF','JPEG','JPG','PNG'); $upload_defaultmimetypes=array('image/gif','image/jpeg','image/png','image/x-png'); |
(upload heeft chmod 777)
Nu heb ik het idee dat dit komt doordat SAFE MODE aanstaat op mijn test host. Maar het lijkt mij niet onwaarschijnlijk dat dit script (wat vaker gebruikt gaat worden) ook op een SAFE MODE host neerkomt. Dus is er een manier om, om safe mode heen te werken en toch te kunnen uploaden met SAFE MODE aan?