Hallo,
ich habe ein kleines Problem:
Ich brauche ein kleines Bilder-Upload Skript in PHP
ich habe auch schon mehrere gefunden, nur es taucht jedes mal der Fehler auf:
Warning: copy(media/upload/test_1278439952.gif) [function.copy]: failed to open stream: No such file or directory in /homez.332/NUTZERNAME/www/media/upload.php on line 19
bzw beim 2. Skript:
Warning: copy(images/1278440058.gif) [function.copy]: failed to open stream: No such file or directory in /homez.332/XXX/NUTZERNAME/media/upload2.php on line 58
Mein Schluss daraus war, dass entweder
A. Die Dateien nicht genug Rechte haben - was ich nicht ändern kann da sonst Internal Error kommt
B. die Funktion copy() nicht unterstützt wird ... kennt ihr da eine Alternative?
PS: Über Wordpress kann ich Problemlos Bilder hochladen...
Mein Hostingpaket ist das Shared Hosting Basic
http://www.ovh.de/shared_hosting/sha...ffic_500gb.xml
Vielen Dank im voraus!
Beste Grüße
Suri
Skript 1
PHP-Code:
Upload
if($action){
$path = "media/upload/"; // Url zum Speicher Ordner
$filename = "";
$deindomain = "http://RICHTIGE-DOMAIN.de/";
$time=time();
if ($HTTP_POST_FILES['userfile']['tmp_name']<> 'none')
{
$file = $HTTP_POST_FILES['userfile']['name'];
$temp = $HTTP_POST_FILES['userfile']['tmp_name'];
$path_parts = pathinfo($file);
$filename = "test_" . $time . "." . $path_parts["extension"];
$dest = $path.$filename;
copy($temp, $dest);
echo "Die Datei ist auf dem Server!
";
echo "Url der Datei: $deindomain$path$filename\" target=\"_blank\">".$deindomain.$path.$filename;
echo "";
}
} else { ?>
} ?>
// alt
PHP-Code:
//define a maxim size for the uploaded images in Kb
define ("MAX_SIZE","100");
//This function reads the extension of the file. It is used to determine if the file is an image by checking the extension.
function getExtension($str) {
$i = strrpos($str,".");
if (!$i) { return ""; }
$l = strlen($str) - $i;
$ext = substr($str,$i+1,$l);
return $ext;
}
//This variable is used as a flag. The value is initialized with 0 (meaning no error found)
//and it will be changed to 1 if an errro occures.
//If the error occures the file will not be uploaded.
$errors=0;
//checks if the form has been submitted
if(isset($_POST['Submit']))
{
//reads the name of the file the user submitted for uploading
$image=$_FILES['image']['name'];
//if it is not empty
if ($image)
{
//get the original name of the file from the clients machine
$filename = stripslashes($_FILES['image']['name']);
//get the extension of the file in a lower case format
$extension = getExtension($filename);
$extension = strtolower($extension);
//if it is not a known extension, we will suppose it is an error and will not upload the file,
//otherwise we will do more tests
if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png") && ($extension != "gif"))
{
//print error message
echo 'Unknown extension!
';
$errors=1;
}
else
{
//get the size of the image in bytes
//$_FILES['image']['tmp_name'] is the temporary filename of the file
//in which the uploaded file was stored on the server
$size=filesize($_FILES['image']['tmp_name']);
//compare the size with the maxim size we defined and print error if bigger
if ($size > MAX_SIZE*1024)
{
echo 'You have exceeded the size limit!
';
$errors=1;
}
//we will give an unique name, for example the time in unix time format
$image_name=time().'.'.$extension;
//the new name will be containing the full path where will be stored (images folder)
$newname="images/".$image_name;
//we verify if the image has been uploaded, and print error instead
$copied = copy($_FILES['image']['tmp_name'], $newname);
if (!$copied)
{
echo 'Copy unsuccessfull!
';
$errors=1;
}}}}
//If no errors registred, print the success message
if(isset($_POST['Submit']) && !$errors)
{
echo "File Uploaded Successfully! Try again!
";
}
?>