It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 10 years ago.
I am currently making a website where you can upload and download files like a cloud server or something of that sort. I was just wondering what happens if i dont have space on a Hard drive how would i tell PHP to upload to upload to a different hard drive and just stuff like that?
i have this code and i will be adding security but right now im testing:
<?php
set_time_limit(30000);
session_start();
include('../Connect/Connect.php');
$User = $_SESSION['User'];
$Get = 'SELECT * FROM Users WHERE Username = "'.$User.'"';
$Files = $_FILES['File'];
if(isset($User))
{
if(!empty($Files))
{
if($Result = $Connect->query($Get))
{
while($Row = $Result->fetch_assoc())
{
$Limit = $Row['Limit'];
for($X = 0; $X < count($Files['name']); $X++)
{
$Name = $Files['name'][$X];
$TMP = $Files['tmp_name'][$X];
move_uploaded_file($TMP, '../Users/' . $User . '/' . $Name);
}
}
}
}
}
else
{
header("location:../");
}
header("location:index.php");
$Connect->close();
?>
You could always use disk_free_space() before you try to upload/move files. Also, move_uploaded_file will probably return false, but that can be also because of other issues such as permissions.
Related
It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 9 years ago.
I have written these scripts to delete files (image, in fact) in a directory but have the choice to decide which one to delete and view before hand. The view.php script seems to be working fine, however the delete.php doesn't seem to be functioning because the images are not removing.
here are the scripts:
view.php
<?php
$path = '../product-uploads/gloves/'; // path for each page
$files = glob("{$path}*.*"); // Get the files
$files = array_filter($files, 'is_file'); // Get rid of directories
$dates = array_map('filectime', $files); // Get the creation times.
$md5s = array();
array_multisort($dates, $files, SORT_NUMERIC); // in order of creation
foreach ($files AS $file)
{
$hash = md5_file($file);
if (!in_array($hash, $md5s))
{
$md5s[] = $hash;
echo "<img src=\"$file\" /> <br />
<form action=\"delete.php\" method=\"post\">
<input type=\"hidden\" name=\"Name\" value=\"$file\">
<input type=\"submit\" value=\"Delete\">
</form>";
}
}
?>
delete.php
<?php
$path = '../product-uploads/gloves/';// images are here
$Name = $_POST['Name'];
$PathFile = $path.$Name;
$PathFile = basename($PathFile);
header('Location: view.php');
?>
This is because you don't remove the images in your delete.php
Use unlink on pathfile.
It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 10 years ago.
I want to make picture upload system with php and i want users will be able to upload just
png,jpg files and not viruses or other files. how can i do this?
($_FILES["file"]["type"] == "image/png")
for more information about this click here
step 1: Check the extension (extension file ends with)
step 2: Check the MIME type ($file_info = getimagesize($_FILES['image_file']; $file_mime = $file_info['mime'];)
only allow the those image extension which you want to upload , for that you can make the white list
try something like
$whitelist = array(".jpeg",".jpg",".png");
foreach ($whitelist as $item)
{
if(preg_match("/$item\$/i", $_FILES['uploadfile']['name']))
{
$uploaddir='uploads/uploads_image/';
$uploadfilename=mysql_prep(basename($_FILES['uploadfile']['name']));
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
$iv= mcrypt_create_iv($iv_size,MCRYPT_DEV_RANDOM);
$newname= mcrypt_encrypt(MCRYPT_RIJNDAEL_256, "this is the key",$uploadfilename.time(), MCRYPT_MODE_ECB, $iv);
$newfilename= (bin2hex($newname));
$uploadfile=$uploaddir.$newfilename.".png";
$access=true;
}
}
you can also block the ip of the user if user try to upload miscellaneous file by making the black list
foreach ($blacklist as $item)
{
if(preg_match("/$item\$/i", $_FILES['uploadfile']['name']))
{
$network = ip2long("10.12.0.0");
$mask = ip2long("255.255.0.0");
$ip = ip2long($_SERVER{'REMOTE_HOST'});
if (($network & $mask) == ($ip & $mask)) {
die("Unauthorized");
}
}
}
1st check:-
//check if contain php and kill it
$pos = strpos($filename,'php');
if(!($pos === false)) {
die('error');
}
2nd check:-
//get the file ext
$file_ext = strrchr($filename, '.');
$image_list = array(".jpg",".jpeg",".gif",".png");
if (!(in_array($file_ext, $image_list))) {
die('not allowed extension,please upload images only');
}
3rd check:-
$fileType = $_FILES["uploaded_file"]["type==image/jpeg || image/gif || image/png"];
4th check:-
preg_match("/.(gif|jpg|png)$/i", $fileName);
hope these checks solve your problem....
It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 10 years ago.
I have this PHP script from a file uploader. It is generating a XML file, but every-time I upload a new item it replaces the current nodes instead of adding to the "tree".
<?php
$todayDate = $_POST['todayDate'];
$Name = $_POST['Name'];
$Email = $_POST['Email'];
$filename = $_FILES['Filedata']['name'];
$filetmpname = $_FILES['Filedata']['tmp_name'];
$fileType = $_FILES["Filedata"]["type"];
$fileSizeMB = ($_FILES["Filedata"]["size"] / 1024 / 1000);
move_uploaded_file($_FILES['Filedata']['tmp_name'], "images/".$filename);
$xml = new XMLWriter;
$xml->openMemory();
$xml->startDocument( '1.0' , 'iso-8859-1' );
$xml->startElement("galeria");
$xml->writeElement("Name", $Name);
$xml->writeElement("Email", $Email);
$xml->endElement();
$file = fopen('data.xml','w+');
fwrite($file, $xml->outputMemory(true));
fclose($file);
try $file = fopen('data.xml', 'a'); I think that is the correct way to append a file
It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 11 years ago.
i found this code:
<?php
$path_to_file = 'c:\wamp\www\FindReplace\File.txt';
$file_contents = file_get_contents($path_to_file);
$file_contents = str_replace("Paul",",HHH",$file_contents);
file_put_contents($path_to_file,$file_contents);
?>
It's working very well if it's only one file but how to do if i want to Find and Replace in all *.txt file of my folder?
THank you
What about this?
It should take care of running your replace on all .txt-files, regardless of how many sub-folders you got in your path folder.
$path = realpath(__DIR__ . '/textfiles/'); // Path to your textfiles
$fileList = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($path), \RecursiveIteratorIterator::SELF_FIRST);
foreach ($fileList as $item) {
if ($item->isFile() && stripos($item->getPathName(), 'txt') !== false) {
$file_contents = file_get_contents($item->getPathName());
$file_contents = str_replace("Paul",",HHH",$file_contents);
file_put_contents($item->getPathName(),$file_contents);
}
}
find /path/to/your/project -name '*.txt' -exec php yourScript.php {} \;
Then modify your script to use command line argument $argv[1] as the file path.
You can use useful glob(), internal PHP function
$files_in_your_folder = glob('c:\wamp\www\FindReplace\*');
So for your specific case:
<?php
foreach(glob('c:\wamp\www\FindReplace\*') as $path_to_file) {
$file_contents = file_get_contents($path_to_file);
$file_contents = str_replace("Paul",",HHH",$file_contents);
file_put_contents($path_to_file,$file_contents);
}
?>
It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 11 years ago.
Hi i am looking for script witch lists directory's from ftp and read's all files from the listed folder..Is there something that can help me?
> //open the dir
$sub = ($_GET['dir']);
$path = 'store/'.$diro.'/';
$path = $path . "$sub";
$dh = opendir($path);
$i=1;
while (($file = readdir($dh)) !== false) {
if($file != "." && $file != "..") {
if (substr($file, -4, -3) =="."){
echo "$i. $file ";
}else{
echo "$i. $file";
}
$i++;
}
}
closedir($dh);
I did a quick Google, and there a MILLIONS of responses to this question.
The fourth result is a complete code sample.
http://www.phpreg.com/index.php?option=com_content&task=view&id=158&Itemid=28
Something like....
<?php
$connect = ftp_connect("ftp.hostname.com");
$result = ftp_login($connect, "username", "password");
$a = ftp_nlist($connect, "code22");
foreach($a as $value){
echo $value, "<BR>";
}
?>